Я использую PyCharm, и когда я получаю сообщение об ошибке, он отпечатывает эту аккуратную маленькую вещь Traceback.Traceback функции Python: это просто показ пути, который я взял, или моя программа продолжает запускать «старые» функции?
В этом случае:
Traceback (most recent call last):
File "C:/Users/Chris/PycharmProjects/Learning Project/tgrooms.py", line 127, in <module>
blueRoom()
File "C:/Users/Chris/PycharmProjects/Learning Project/tgrooms.py", line 70, in blueRoom
blueRoom()
File "C:/Users/Chris/PycharmProjects/Learning Project/tgrooms.py", line 67, in blueRoom
redRoom()
File "C:/Users/Chris/PycharmProjects/Learning Project/tgrooms.py", line 38, in redRoom
choice = int(raw_input("> "))
ValueError: invalid literal for int() with base 10: 'yes'
Я знаю, что ошибка и более или менее, как решить это, но я хотел, чтобы убедиться, что цикл, пока не продолжает работать, когда программа переходит в другое место.
Вот код:
def blueRoom():
print "This is a very, very blue room. There is a door on the other side."
print "Do you walk through?"
while True:
print "inwhile"
choice = raw_input("> ")
if choice == "yes":
blueRoomComplete = True
print "You walk safely through the door into the next room."
room = random.choice(rooms)
print "%r" % room
if room == "gold_room":
print "goldroom"
gold_room()
elif room == "redRoom":
print "redroom"
redRoom()
else:
print "blueroom"
blueRoom()
break
else:
exit(0)
Так вот мой вопрос: Когда программа переходит в другую функцию (т.е. RedRoom()), является то, что в то время как цикл продолжается и занимая ресурсы?
Я попытался выполнить поиск по аналогичному вопросу, но не смог найти ничего подходящего. Спасибо всем! Llurendt
Не совсем уверен, что вы просите. Когда вы вызываете 'redRoom()', управление переходит к 'redRoom' и не возвращается к вашему циклу while до тех пор, пока не будет выполнено' redRoom'. Это не похоже на одновременное выполнение нескольких действий. – BrenBarn
Благодарим за редактирование! Это то, о чем я прошу. Я просто хотел убедиться, что цикл while остановлен, когда вызывается redRoom(). Теперь я буду размещать заявления о прерывании, когда вы указали, что он будет делать резервную копию после redRoom(), хотя, ха-ха. Спасибо! – Llurendt
Так еще есть проблема? –