Поиск помощи с программой. Задача состоит в том, чтобы переписать программу с this question. Направления - создать функцию под названием def username(first, last):
. Функция username
будет иметь два параметра: first
и last
. Результат будет таким же, как и в программе исходного текста.Python переписывает программу текстовых файлов текстовых файлов
Это то, что я до сих пор:
def username(first, last):
for lines in aList:
n = lines.split()
first = n[0][0].lower()
last = n[1][0:4].lower()
resultName = first + last + "001"
return resultName
def main():
inFile = open("grades.txt", "r")
aList = inFile.readlines()
print(username)
inFile.close
main()
значение выходной я получаю:
function username at 0x7f68f83a5158
выход я должен получать:
>>>username('Jane', 'Smith')
jsmit001
Любое представление о что я могу сделать для правильной работы этой программы.
Я играл с этой программой и обнаружил, что:
def username(first, last):
inFile = open("grades.txt", "r")
aList = inFile.readlines()
for lines in aList:
n = lines.split()
first = n[0][0].lower()
last = n[1][0:4].lower()
resultName = first + last + "001"
return resultName
infile.close
def main():
print(username(first = "Jane", last = "Smith"))
main()
он теперь работает, но дает мне только первую строку из моего текстового файла. Результат правильный, но мне нужны все 5 имен пользователей. Я считаю, что это проблема с углублением, но я не уверен, где она. Посредством un-indenting «return resultName», когда мой вывод был последней строкой в моем текстовом файле.
Ваш отступы неправильно, одна функция не использует свои параметры (и вызовет 'NameError' как вы не определили тот ему нужно) и другие печатные издания функцию, а не вызывать его и печать результатов. – jonrsharpe
Почему эта функция не использует свои параметры? @jonrsharpe –
Что значит «почему» *? Я не знаю почему; так вы его написали. 'username'tries присваивать содержимое' aList' ('NameError')' first' и 'last' перед тем, как делать что-либо с ними, тем самым заменяя значения, которые вы передали. – jonrsharpe