鱼C论坛

 找回密码
 立即注册
查看: 1494|回复: 7

[已解决]求助大神 这个程序又进行不下去了

[复制链接]
发表于 2020-8-30 10:13:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random
answer=random.randint(1,10)
print('hello hello')
temp=input('不妨说说你心里想的数字')
times=1
while   times<4:
    while   temp.isdigit()==False:
        temp=input('说一个1到10的整数')
        times=times+1
    guess=int(temp)
    while   guess!=answer:
        temp=input('猜错了 重新猜')
        guess=int(temp)
        times=times+1
        if  guess<answer:
                print('害 小了小了')
        if  guess>answer:
                print('还是不对 大了')
        if  guess==answer:
            break
            print('猜对啦')
            print('不过并没有奖励')
            print('游戏结束不玩了88')
print('次数用完啦')
print('下次见咯')

以上是代码 想要写一个猜数游戏希望可以有3次猜的机会 但是好像这个次数没有赋值上去还是怎么样 第一个while好像就没有进行 怎么办啊哪里有问题啊
最佳答案
2020-8-30 10:38:15
本帖最后由 疾风怪盗 于 2020-8-30 10:51 编辑

你写的整个逻辑不通顺啊,试试看这样
import random

answer = random.randint(1, 10)
print(answer)
print('hello hello')
temp = input('不妨说说你心里想的数字')
times = 2

while times > 0:
    if temp.isdigit() == False:
        temp = input(f'说一个1到10的整数,还剩下{times}次机会')
        times = times - 1
        print(times)
    else:       
        guess = int(temp)
        times = times - 1
        if guess == answer:
            print('猜对啦')
            print('不过并没有奖励')
            print('游戏结束不玩了88')
            break
        else:
            if guess < answer:
                print('害 小了小了')
            elif guess > answer:
                print('还是不对 大了')
            temp = input(f'猜错了 重新猜,还剩下{times + 1}次机会')
            guess = int(temp)
else:
    print('次数用完啦')
    print('下次见咯')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-30 10:22:00 | 显示全部楼层
import random
answer=random.randint(1,10)
print('hello hello')
temp=input('不妨说说你心里想的数字')
times=1
while times<4:
    while temp.isdigit() == False:
        temp=input('说一个1到10的整数')
    times=times+1
    guess=int(temp)
    if  guess<answer:
        print('害 小了小了')
    elif  guess>answer:
        print('还是不对 大了')
    else:
        print('猜对啦')
        print('不过并没有奖励')
        print('游戏结束不玩了88')
        break
    temp=input('猜错了 重新猜')
print('次数用完啦')
print('下次见咯')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 10:38:15 | 显示全部楼层    本楼为最佳答案   
本帖最后由 疾风怪盗 于 2020-8-30 10:51 编辑

你写的整个逻辑不通顺啊,试试看这样
import random

answer = random.randint(1, 10)
print(answer)
print('hello hello')
temp = input('不妨说说你心里想的数字')
times = 2

while times > 0:
    if temp.isdigit() == False:
        temp = input(f'说一个1到10的整数,还剩下{times}次机会')
        times = times - 1
        print(times)
    else:       
        guess = int(temp)
        times = times - 1
        if guess == answer:
            print('猜对啦')
            print('不过并没有奖励')
            print('游戏结束不玩了88')
            break
        else:
            if guess < answer:
                print('害 小了小了')
            elif guess > answer:
                print('还是不对 大了')
            temp = input(f'猜错了 重新猜,还剩下{times + 1}次机会')
            guess = int(temp)
else:
    print('次数用完啦')
    print('下次见咯')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-30 10:38:56 | 显示全部楼层

你这样会有个bug,猜对了也会打印
print('次数用完啦')
print('下次见咯')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 10:42:54 | 显示全部楼层
如果你只需要猜3次,那么我觉得你的while循环甚至都可以省略了,因为你的代码中已经出现了3次input了,加入while反而没必要,而且你加入的while甚至让你的程序可以输入很多次,比如重复输入一个数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 12:42:59 | 显示全部楼层
疾风怪盗 发表于 2020-8-30 10:38
你写的整个逻辑不通顺啊,试试看这样

明白了 非常感谢 还有一点小问题 就是while后面一般是不能再用while了对吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 12:48:26 | 显示全部楼层
孙赖 发表于 2020-8-30 12:42
明白了 非常感谢 还有一点小问题 就是while后面一般是不能再用while了对吗

不是不能用,用while或者if都是从逻辑角度的吧,反正按我的思路写的,就用一次足够了
我也是初学者,我一般写的代码,基本用不到while,比较常用if,while比较难理解,会死循环。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 15:00:02 | 显示全部楼层
疾风怪盗 发表于 2020-8-30 12:48
不是不能用,用while或者if都是从逻辑角度的吧,反正按我的思路写的,就用一次足够了
我也是初学者,我 ...

好的 非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 02:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表