Уровень: начинающий
Эй, я пытаюсь разрешить упражнение в Python.
Код сравнивает userName, указанное в аргументе функции print(getUserPoint("Benny"))
, если это имя существует в userScores.txt, я хотел бы вернуть счет пользователя, в противном случае я хотел бы вернуть строку «-1».
Если я использую print
, результат печатается, как и ожидалось, однако, если я использую return
, функция всегда возвращает «-1», даже если имя пользователя существует в файле.
Похоже, что он читает только первого пользователя, оценивает значения из файла .txt.
Кто-нибудь может объяснить, почему в данном случае «return» работает именно так?
userScores.txt:
Ann, 100
Benny, 102
Carol, 214
Darren, 129
Код:
try:
def getUserPoint(userName):
f = open("userScores.txt", "r")
file = f.readlines()
print(file)
for item in file:
print(item)
content = item.split(',')
if content[0] == userName:
f.close()
return content[1]
#print(content[1])
else:
f.close()
return "-1"
#print("-1")
except IOError:
print("File not found")
f = open("userScores.txt", "w")
f.close()
print("-1")