2016-02-27 53 views
0

我正在嘗試在python中做一個小遊戲。 這裏是我到目前爲止有:Python真或假遊戲原型不工作

import time 
name = raw_input("What is your name? ") 
print "Hi,", name,"!" 
time.sleep(1) 
print "Let's start my game" 
time.sleep(1) 
q1 = None 
while (q1 == "None"): 
    qq1 = raw_input("Question") 
    if (qq1 == "answer"): 
     q1 = True 
print "Game Over!" 

這就是我得到:

What is your name? nametest 
Hi, nametest ! 
Let's start my game 
Game Over! 
>>>  

缺少什麼我在這裏?

+2

你缺少一個解釋,告訴我們什麼是你實際上是希望它做的事。 – idjaw

回答

4

這是因爲該行

q1 = None 

,你說q1objectNone之間的差異,

,並在您檢查線路

while (q1 == "None"): 

,如果它是字符串"none",完全不同出租。


嘗試改變他們兩個是相同的,例如,

while q1 is None: 
0

你說while (q1 == "None"),但q1是永遠等於字符串"None";它等於常數None。你可以說== None,但使用is建議:

while (q1 is None): 

is應該使用,因爲None是一個常數。可能有些事情要求與None相等,但只有NoneNoneType的實例。

0

None不是"None",只使用其中的一個,它會工作。

但使用False更好:

q1 = False 
while (q1 == False): 
    qq1 = raw_input("Question") 
    if (qq1 == "answer"): 
     q1 = True