首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印和IF语句的困难

打印和IF语句的困难
EN

Stack Overflow用户
提问于 2013-07-07 22:27:06
回答 2查看 50关注 0票数 0

所以我的代码基本上是模拟棒球运动员(Joe DiMaggio)在每一场比赛中的击球。这是到目前为止的代码

代码语言:javascript
复制
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。

EN

回答 2

Stack Overflow用户

发布于 2013-07-07 22:28:37

您需要修复print语句:

代码语言:javascript
复制
print("He went", m, "-4")

或者使用字符串连接:

代码语言:javascript
复制
print("He went" + str(m) + "-4")

或字符串格式:

代码语言:javascript
复制
print("He went {} -4".format(m))

然后,您的代码将进入一个无限循环,一遍又一遍地重新计算m的相同值,因为不是每次都重新计算随机值。ijkl是静态的,它们不引用函数调用,它们分别引用对random.randint()的一次调用的返回值。

您可以使用循环来简化代码,该循环每次都会根据新的随机值重新计算m

代码语言:javascript
复制
m = sum(1 for i in range(4) if random.random() < 0.32)
票数 3
EN

Stack Overflow用户

发布于 2013-07-07 22:30:20

您必须使用连接运算符。

代码语言:javascript
复制
print("He went " + str(m) + "-4")

因此,在打印输出之前,您需要将输出连接为单个字符串

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17512999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档