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")

其次,由于您没有声明任何名为rockand的变量scissors,因此您必须在它们周围使用引号来使它们成为字符串,否则您将得到NameError.

或者使用变量xz指向字符串“rock”和“scissors”:

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

==用于检查相等性并=用于分配。

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

由于在 python 的语句中不允许赋值,所以if你得到SyntaxError.

于 2013-06-23T05:51:10.400 回答
1

相等的比较运算符==不是=

=用于将项目分配给对象,例如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 回答