#python #python-3.x #function #loops #if-statement
#python #python-3.x #функция #циклы #if-оператор
Вопрос:
Traceback (most recent call last):
File "main.py", line 217, in <module>
prompt()
File "main.py", line 83, in prompt
prompt()
TypeError: 'str'
Это ошибка, которую я получаю после ввода этого кода:
def prompt():
print("What would you like to do?")
prompt = input("")
if prompt.upper() == "M":
maps()
prompt()
elif prompt.upper() == "D":
print("You go down.")
spc()
prompt()
elif prompt.upper() == "U":
print("You go up.")
spc()
prompt()
elif prompt.upper() == "L":
print("You go left.")
spc()
prompt()
elif prompt.upper() == "R":
print("You go right.")
spc()
prompt()
else:
print("You cannot do that.")
spc()
prompt()
и да, я знаю, что в настоящее время нет способа выйти из цикла, но я работаю над этим, я не знаю, является ли это проблемой, надеюсь, это не так. Если у кого-нибудь есть решение, я открыт для большинства кодов. Хотя у меня всего около года опыта, так что ничего особо сложного. Спасибо!
Комментарии:
1. почему ваше
function
имя иvariable
фамилия совпадают?2. Попробуйте разные имена для переменной fn ad
Ответ №1:
Вы можете изменить либо имя функции prompt
, либо имя переменной prompt
. При этом ваша проблема будет решена.
def prmpt():
print("What would you like to do?")
prompt = input("")
if prompt.upper() == "M":
maps()
prmpt()
elif prompt.upper() == "D":
print("You go down.")
spc()
prmpt()
elif prompt.upper() == "U":
print("You go up.")
spc()
prmpt()
elif prompt.upper() == "L":
print("You go left.")
spc()
prmpt()
elif prompt.upper() == "R":
print("You go right.")
spc()
prmpt()
else:
print("You cannot do that.")
spc()
prmpt()