0

私はプログラミングがまったく初めてで、ジャンケンのゲームに取り組んできました。最後の部分(部分)を除いてすべて機能しifます。

x = ("rock")
y = ("paper")
z = ("scissors")
print(x)
print(y)
print(z)
choices1 = (x, y, z)
choices2 = (x, y, z)
import random
print("player 1 chose...")
print(random.choice(choices1))
print("player 2 chose...")
print(random.choice(choices2))
if random.choice(choices1) = rock and         random.choice(choices2) = scissors:
 print("player 1 wins")

スクリプトを実行しようとすると、次のように表示されます。

File "<string>", line 14
 if random.choice(choices1) = rock and random.choice(choices2) = scissors:
                         ^
SyntaxError: invalid syntax
4

3 に答える 3

4

あなたはする必要はあり==ません=

if random.choice(choices1) == "rock" and random.choice(choices2) == "scissors":
    print("player 1 wins")

rock次に、 andという名前の変数を宣言していないscissorsため、それらを引用符で囲んで文字列にする必要があります。そうしないと、NameError.

または、文字列「rock」と「scissors」を指す変数xを使用します。z

if random.choice(choices1) == x and random.choice(choices2) == z:
    print("player 1 wins")

==同等性をチェックするために使用され=、代入に使用されます。

>>> "foo" == "bar"
False
>>> "foo" == "foo"
True

ifPythonのステートメントでは代入が許可されていないため、SyntaxError.

于 2013-06-23T05:51:10.400 に答える
1

等値の比較演算子は==not=です。

=アイテムをオブジェクトに割り当てるために使用されますvar = 5。したがって、SyntaxError.

ドキュメントから:

標準の比較演算子は C と同じように記述されます: <(より小さい)、>(より大きい)、==(等しい)、<=(より小さいか等しい)、>=(より大きいか等しい)、および!=(等しくない)。


また、rockは定義されていないため、 も取得しNameErrorます。私はそれが文字列であるべきだと推測しているので、それを作って"rock"ください。

于 2013-06-23T05:50:54.920 に答える
0

比較演算子は、= ではなく == でなければなりません。次の詳細を見てください: http://www.tutorialspoint.com/python/python_basic_operators.htm

于 2013-06-23T05:53:00.173 に答える