【发布时间】:2021-06-25 15:13:52
【问题描述】:
我尝试制作一个 UNO 分发系统,但它似乎不起作用: 当我输入“S”时,它就终止了。 (还没完结)
到目前为止,这是我的代码:
import random
n = 0
command = input("Rules[R], Start[S], End[E] or Quit[Q]")
if command.upper == "S":
while n < 7:
pick_type = random.randint[1, 9]
pick_colour = random.randint[1, 5]
if pick_type == 5 or 6 or 7:
pick_colour = random.randint[1, 4]
if pick_colour == 1:
colour = "Blue"
elif pick_colour == 2:
colour = "Green"
elif pick_colour == 3:
colour = "Red"
else:
colour = "Yellow"
print(colour)
elif pick_type == 1 or 2 or 3 or 4:
pick_number = random.randint[1, 10]
number = str(pick_number)
print(number)
else:
draw_condition = random.randint[1, 2]
if draw_condition == 1:
card_type = "Wild"
else:
card_type = "Wild Draw 4"
print(card_type)
n += 1
我得到的结果是:
Rules[R], Start[S], End[E], Quit[Q]
S
Process terminated with exit code 0.
【问题讨论】:
-
command.upper是一个函数,而不是字符串,所以它永远不会等于字符串"S"。你想要command.upper()。 -
它会犯更多错误!
-
在您的代码的许多部分中,您为调用的方法使用了错误的签名,例如
random.randint[1, 9],而应该是random.randint(1, 9)。另外,n += 1应该在哪里?