首页 新闻 搜索 专区 学院

各位大佬,请问为什么我的代码只能循环一次。

0
[待解决问题]

import random
times=0
while True:
times += 1
if times<2:
toss=random.randint(0,1)
consult=input("请输入你猜的结果:")
if consult==toss:
print("恭喜你猜对了!")
elif consult!=toss:
print("猜错了")
elif times>=2:
break

CZYYYYYYYY的主页 CZYYYYYYYY | 菜鸟二级 | 园豆:202
提问于:2020-03-21 22:36
< >
分享
所有回答(3)
0

缩进没了。

jakio6 | 园豆:1266 (小虾三级) | 2020-03-22 08:11

感谢回答,在编译器里是有缩进的

支持(0) 反对(0) CZYYYYYYYY | 园豆:202 (菜鸟二级) | 2020-03-22 16:04

@CZYYYYYYYY: input返回不是字符串吗,这样比较行吗?还有没有缩进实在没办法

如果第二个elif和第一个if是一个缩进级别的,那就是只会执行一次第一次循环是1第二次循环是2

支持(0) 反对(0) jakio6 | 园豆:1266 (小虾三级) | 2020-03-22 16:14

@jakio6: 大概明白您的意思,但是为什么只会执行一次?只要不满足IF>2,while true不会一直循环下去么?

支持(0) 反对(0) CZYYYYYYYY | 园豆:202 (菜鸟二级) | 2020-03-22 16:27

@CZYYYYYYYY: 你的是不满足>=才循环吧

支持(0) 反对(0) jakio6 | 园豆:1266 (小虾三级) | 2020-03-22 16:29
0

倒数第二行到倒数第一行删了

哈酷hardcool | 园豆:197 (初学一级) | 2020-03-22 12:18

感谢回答。这样我尝试过,代码会无限循环下去。

支持(0) 反对(0) CZYYYYYYYY | 园豆:202 (菜鸟二级) | 2020-03-22 16:05
1
#你是逻辑问题<= 与>
#还有str 和 int如果同为0 == 返回还是false
import random
times=0
#固定重试的次数
a = int(input("请输入你游戏可以重试的次数"))
while True:
    times += 1
    if times<=a:
        toss=str(random.randint(0,1))
        consult=input("请输入你猜的结果:")
        if consult==toss:
            print("恭喜你猜对了!")
            #答对了停止
            break
        elif consult!=toss:
            print("猜错了")
    if times>a:
        break

小小咸鱼YwY | 园豆:2754 (老鸟四级) | 2020-03-22 16:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册