我对编程很陌生,我一直在做一个摇滚,纸张,剪刀游戏。这一切都有效,除了最后一部分(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
答案 0 :(得分:4)
您需要==
而不是=
:
if random.choice(choices1) == "rock" and random.choice(choices2) == "scissors":
print("player 1 wins")
其次,由于您没有声明任何名为rock
和scissors
的变量,因此您必须使用它们周围的引号来制作字符串,否则您将获得NameError
或使用指向字符串&#34; rock&#34;的变量x
,z
。和&#34;剪刀&#34;:
if random.choice(choices1) == x and random.choice(choices2) == z:
print("player 1 wins")
==
用于检查相等性,=
用于分配。
>>> "foo" == "bar"
False
>>> "foo" == "foo"
True
由于您在获取if
SyntaxError
语句的{{1}}语句中不允许转让。
答案 1 :(得分:1)
相等的比较运算符是==
而非=
。
=
用于将项目分配给对象,例如var = 5
。因此SyntaxError
。
标准比较运算符的编写方式与C中相同:<
(小于),>
(大于),==
(等于),<=
(小于或等于),>=
(大于或等于)和!=
(不等于)。
此外,rock
未定义,因此您还将获得NameError
。我假设它应该是一个字符串,所以把它"rock"
。
答案 2 :(得分:0)
比较运算符必须是== not =。请看以下详细信息: http://www.tutorialspoint.com/python/python_basic_operators.htm