所以我的代码基本上是模拟棒球运动员(Joe DiMaggio)在每一场比赛中的击球。这是到目前为止的代码
import random
i = random.randint(1, 100)
j = random.randint(1, 100)
k = random.randint(1, 100)
l = random.randint(1, 100)
while True:
if i <= 32:
i = 1
else:
i = 0
if k <= 32:
k = 1
else:
k = 0
if j <= 32:
j = 1
else:
j = 0
if l <= 32:
l = 1
else:
l = 0
m = i+j+k+l
print("He went", m, "-4")我想知道它是否适用于所有不同的if和ELSE语句。同样,当我尝试运行此命令时,它会突出显示print语句中的m,并显示错误: Invalid Syntax。
有什么关于如何解决这个问题的帮助吗?编辑:语法错误已经修复,但现在只是第一次将它们相加,其余的打印都是4-4。
发布于 2013-07-07 22:28:37
您需要修复print语句:
print("He went", m, "-4")或者使用字符串连接:
print("He went" + str(m) + "-4")或字符串格式:
print("He went {} -4".format(m))然后,您的代码将进入一个无限循环,一遍又一遍地重新计算m的相同值,因为不是每次都重新计算随机值。i、j、k和l是静态的,它们不引用函数调用,它们分别引用对random.randint()的一次调用的返回值。
您可以使用循环来简化代码,该循环每次都会根据新的随机值重新计算m:
m = sum(1 for i in range(4) if random.random() < 0.32)发布于 2013-07-07 22:30:20
您必须使用连接运算符。
print("He went " + str(m) + "-4")因此,在打印输出之前,您需要将输出连接为单个字符串
https://stackoverflow.com/questions/17512999
复制相似问题