2017-01-27 36 views
0

我是Python新手,我正在閱讀一些關於它的示例。然而,下面Python:爲什麼在if語句中該數字應該是字符串?

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":這個人是雙引號括起來,而不僅僅是一個號碼一個。我試圖刪除雙引號,如果輸入是一個,程序將打印"You stumble around and fall on a knife and die. Good job!"

+9

因爲字符串不是數字,'raw_input()'返回一個字符串? –

回答

2

函數raw_input()'從輸入中讀取一行,將其轉換爲字符串(剝離尾隨的換行符),並返回'。有關功能here的文檔。

因此,您的條件語句將檢查由raw_input()返回的值總是字符串。

相關問題