2016-02-27 39 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