2017-01-27 13 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":この1つは、二重である理由だけでナンバーワンではなく、引用されていることに興味がありました。二重引用符を削除しようとしましたが、入力が1の場合、プログラムは"You stumble around and fall on a knife and die. Good job!"を出力します。

+9

文字列は数字ではないので、 'raw_input()'は文字列を返しますか? –

答えて

2

関数raw_input() 'は入力から行を読み込み、文字列に変換して(末尾の改行を取り除き)、それを返します。機能上のドキュメントhere

したがって、条件文は、常に文字列であるraw_input()によって返される値をチェックします。

関連する問題