2

そこで、私は 2 人用の「数当て」プログラムに取り組んできました。しかし、私はただ一つのことに問題があります。

コードは次のとおりです。

import time
import random
thenumber = random.randint(1, 10)
print "Welcome to Noah's Two Player guess a number game."
print "What is player one's name?"
player1 = raw_input()
print "What is player two's name?"
player2 = raw_input()
print "Well " + player1 + " and " + player2 + ", are you ready to play?"
choice = raw_input()
if choice == yes:
    print player1 + ", pick a number from 1 to 10."
    player1guess = raw_input()

    print player2 + ", pick a number from 1 to 10."
    player2guess = raw_input()

    print "Calculating..."
    time.sleep(3)

    p1 = thenumber - player1guess
    p2 = thenumber - player2guess

    if p1 > p2:
        print player1 + " won!"

    elif p2 > p1:
        print player2 + " won!"

このエラーが発生するまで、すべてがスムーズに実行されています。

Traceback (most recent call last):
  File "C:\Python27\Script 1", line 11, in <module>
    if choice == yes:
NameError: name 'yes' is not defined

私の知る限り、私は何も悪いことをしたとは思いませんが、やはり私は python の初心者です。

誰かがこれで私を助けてください。

編集:(違いがある場合、これはpython 2.7です)

4

2 に答える 2

4

yes:の周りに引用符が必要choice =='yes'だと思います。そうしないと、Python はそれをyes変数と見なします。

于 2012-10-27T20:16:58.743 に答える
2

試してみてくださいif choice == 'yes':。定義されていないシンボルと比較しています。

Python には「変数」はなく、シンボルとその値 (言語インタープリターによって内部的に理解される型を持つ) だけであることに注意してください。それらは、さまざまなオブジェクトに付ける名前と考えてください。それらはすべてシンボルです。

于 2012-10-27T20:17:07.230 に答える