Python:为什么数字应该是if-statement中的字符串?

时间:2017-01-27 16:33:27

标签: python python-2.7 if-statement

我是Python的新手,我正在阅读一些关于它的例子。但是,下面有一个例子

print "You enter a dark room with two doors.  Do you go through door #1 or door #2?"

door = raw_input("> ")

if door == "1":
    print "There's a giant bear here eating a cheese cake.  What do you do?"
    print "1. Take the cake."
    print "2. Scream at the bear."

    bear = raw_input("> ")

    if bear == "1":
        print "The bear eats your face off.  Good job!"
    elif bear == "2":
        print "The bear eats your legs off.  Good job!"
    else:
        print "Well, doing %s is probably better.  Bear runs away." % bear

elif door == "2":
    print "You stare into the endless abyss at Cthulhu's retina."
    print "1. Blueberries."
    print "2. Yellow jacket clothespins."
    print "3. Understanding revolvers yelling melodies."

    insanity = raw_input("> ")

    if insanity == "1" or insanity == "2":
        print "Your body survives powered by a mind of jello.  Good job!"
    else:
        print "The insanity rots your eyes into a pool of muck.  Good job!"

else:
    print "You stumble around and fall on a knife and die.  Good job!"

我很好奇为什么if door == "1":这个被双引号而不仅仅是一号。我试图删除双引号,如果输入为1,程序将打印"You stumble around and fall on a knife and die. Good job!"

1 个答案:

答案 0 :(得分:2)

函数raw_input()'从输入中读取一行,将其转换为字符串(剥离尾随换行符),然后返回'。关于函数here的文档。

因此,您的条件语句会检查raw_input()返回的值,这些值始终是字符串。