2016-04-09 2 views
0

Я новичок на этом сайте, и это мой самый первый пост. Обычно можно найти ответы, просто набрав то, что мне нужно, но для этого я не знаю, как сформулировать вопрос. Попытка исправить это, вот уже около часа, но не знаю, что случилось.Python Если утверждение ничего не печатает

Мой код приведен ниже, и когда я запускаю его, он распечатывает функции, которые у меня есть (npc и story), и правильные инструкции печати для них, а затем останавливается внизу, где у меня есть бесконечный цикл while ничего не делая, и, похоже, даже не замечает, что есть оператор if (с печатью «STORYSTORYSTORY»).

Вот мой код:

while True: 
    print "\n You wake up in a small room, the lights are dim and the only thing you can see is a table with a few gold pieces and a glass of water." 
    input1 = raw_input ("What do you do?").lower() 
    if input1 == "take gold": 
     print "\n You take the gold and it's added to your inventory" 
     time.sleep(3) 
     npc("jenkins_gold") 
     story("part1") 
     loop == 2 
     break 
    if input1 == "drink water": 
     print "\n You reach for the water, and gulp it down." 
     time.sleep(3) 
     npc("jenkins_water") 
     story("part1") 
     loop == 2 
     break 

if loop == 2: 
    print "\n Story" 
    print "\n STORYSTORYSTORY" 

while True: 
    y = 1 
    x = y 
    time.sleep(1) 

У меня есть вся игра работает в цикле. Внизу есть цикл while, на всякий случай, который имеет к этому какое-то отношение. Если вам нужно что-нибудь еще из моего кода, пожалуйста, дайте мне знать, я должен ответить в течение нескольких минут. Спасибо

+0

Какая последняя петля должна выполняться? – Leva7

+1

Непонятно, что вы спрашиваете. Пожалуйста, опубликуйте полученный результат и ожидаемый результат. – jpo38

+0

А, извините, я не понимал, что эти комментарии были здесь, никогда их не видели. На мой вопрос был дан ответ, и это совершенно бесполезный вопрос для всех остальных, удалить его или изменить заголовок для решения или принять ответ? –

ответ

1

В своем первом while заявления: loop == 2 вычисляется в True (это логическое выражение, потому что вы использовали ==) и делаете ничего другого, вы не хотите, чтобы повлиять на loop с 2, так что вам нужно сделать loop = 2 (это будет задание, потому что вы будете использовать =).

while True: 
    print "\n You wake up in a small room, the lights are dim and the only thing you can see is a table with a few gold pieces and a glass of water." 
    input1 = raw_input ("What do you do?").lower() 
    if input1 == "take gold": 
     print "\n You take the gold and it's added to your inventory" 
     time.sleep(3) 
     npc("jenkins_gold") 
     story("part1") 
     loop = 2 
     break 
    if input1 == "drink water": 
     print "\n You reach for the water, and gulp it down." 
     time.sleep(3) 
     npc("jenkins_water") 
     story("part1") 
     loop = 2 
     break 
1

Вы пытаетесь присвоит 2 loop через оператора равенства ==. Вместо этого назначьте его оператором присваивания = следующим образом:

loop = 2 
Смежные вопросы