У меня есть функция как часть игры для учебника. Функция вопрос должен вызывать другую функцию, если выполняется условие (если theobject == «код»)Функция не звонит другая функция
# right room
def right_room():
print "You see a table with two objects: a map and a code translator"
print "You can take one object"
print "Which object do you take?"
next = raw_input("> ")
if "map" in next and "code" in next:
dead("You're greed surpassed your wisdom.")
elif "map" in next:
print "OK, you have the map."
theobject = "map"
print "Now you must exit and go ahead"
return theobject
opening()
elif "code" in next:
print "OK, you have the code."
theobject = "code"
print "Now you must exit and go ahead."
return theobject
opening()
Но открытие не называют? Вот вывод:
Вы находитесь в Лабринте. С левой стороны дверь. Там есть дверь на справа. Или вы можете идти вперед.
right Вы видите таблицу с двумя объектами: карту и переводчик кода. Вы можете взять один объект. Какой объект вы берете? код ОК, у вас есть код. Теперь вы должны выйти и идти вперед.
функция выше, то имел в виду, чтобы отправить человека обратно в начало и намеки на них, чтобы ввести «вперед» в терминале:
# opening scene
def opening():
print "You're in a Labrynthe."
print "There's a door on your left."
print "There's a door on your right."
print "Or you can go ahead."
next = raw_input("> ")
if "right" in next:
right_room()
elif "left" in next:
left_room()
elif "ahead" in next:
ahead()
else:
print "Which way will you go?"
Но открытие() не вызывается. Вместо этого Python, похоже, завершает сценарий и выходит.
Вы используете 'return' перед вызовом этой функции ... ничего после возврата не выполняется. – Jeribo
' next' - встроенная функция в python. Вы можете переименовать свою переменную в нечто другое ('next_' является жизнеспособной альтернативой) – SethMMorton