鱼C论坛

 找回密码
 立即注册
查看: 2790|回复: 8

[已解决]求大佬能帮助

[复制链接]
发表于 2021-2-7 21:22:25 | 显示全部楼层 |阅读模式
2鱼币
print('----------sss--------------')
import random
secret=random.randint(1,10)
times=3
temp=input('请输入数字:')
guess=0
while (guess !=secret)and (times>0):
    if temp.isdigit():
        guess=int(temp)
        if guess==secret:
            print('小蛔虫')
        else:
            if guess>secret:
                print('大了大了')
            else:
                print('小了小了')
            if times>1:
                temp=input('请再输入一次:')
            else:
                print('机会用完了')
    else:
        temp=input('请输入一个整数:')
    times=times-1
print('游戏结束')

期望结果:
请输入数字: f
请输入一个整数:f
请输入一个整数:f
游戏结束
最佳答案
2021-2-7 21:22:26
  1. print("----------sss--------------")
  2. import random

  3. secret = random.randint(1, 10)
  4. times = 3

  5. guess = 0
  6. while (guess != secret) and (times > 0):
  7.     temp = input("请输入数字:")
  8.     times = times - 1

  9.     if temp.isdigit():
  10.         guess = int(temp)
  11.         if guess == secret:
  12.             print("小蛔虫")
  13.         else:
  14.             if guess > secret:
  15.                 print("大了大了")
  16.             else:
  17.                 print("小了小了")
  18.     if not times:
  19.         print("机会用完了")
  20. print("游戏结束")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-7 21:22:26 | 显示全部楼层    本楼为最佳答案   
  1. print("----------sss--------------")
  2. import random

  3. secret = random.randint(1, 10)
  4. times = 3

  5. guess = 0
  6. while (guess != secret) and (times > 0):
  7.     temp = input("请输入数字:")
  8.     times = times - 1

  9.     if temp.isdigit():
  10.         guess = int(temp)
  11.         if guess == secret:
  12.             print("小蛔虫")
  13.         else:
  14.             if guess > secret:
  15.                 print("大了大了")
  16.             else:
  17.                 print("小了小了")
  18.     if not times:
  19.         print("机会用完了")
  20. print("游戏结束")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 09:04:40 | 显示全部楼层
请问你的问题是?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-2-8 10:36:37 | 显示全部楼层
Judie 发表于 2021-2-8 09:04
请问你的问题是?

请输入数字:f
请输入一个整数:f
请输入一个整数:f
请输入一个整数:f
游戏结束
这是我的代码运行结果,我想让它变成我的期望结果
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 12:42:48 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-2-8 12:46 编辑

你有没有发现一件事,一个很关键的问题,你的 times = times - 1 在无论是否为数字的情况下,都会 - 1

而我们的期望是,只有它是数字的情况下,才会 - 1,也就是剩余机会 - 1

所以应该把它放在 if temp.isdigit(): 的里面对不对

  1. print('----------sss--------------')
  2. import random
  3. secret=random.randint(1,10)
  4. times=3
  5. temp=input('请输入数字:')
  6. guess=0
  7. while (guess !=secret)and (times>0):
  8.     if temp.isdigit():
  9.         guess=int(temp)
  10.         if guess==secret:
  11.             print('小蛔虫')
  12.         else:
  13.             if guess>secret:
  14.                 print('大了大了')
  15.             else:
  16.                 print('小了小了')
  17.             if times>1:
  18.                 temp=input('请再输入一次:')
  19.             else:
  20.                 print('机会用完了')
  21.         times=times-1
  22.     else:
  23.         temp=input('请输入一个整数:')
  24.    
  25. print('游戏结束')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 12:47:47 | 显示全部楼层


老哥,这个还是没解决问题啊,times -1 那个得放在 if temp.isdigit(): 里面,不然跑起来还是会如同楼主说的那样
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 12:50:47 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-8 12:47
老哥,这个还是没解决问题啊,times -1 那个得放在 if temp.isdigit(): 里面,不然跑起来还是会如同楼 ...

你运行一下不就知道了,我只是没在 猜对了 后面加 break 跳出循环而已
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 13:04:28 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-2-8 13:06 编辑
°蓝鲤歌蓝 发表于 2021-2-8 12:50
你运行一下不就知道了,我只是没在 猜对了 后面加 break 跳出循环而已




其实也不需要 break 因为 while 那里会不满足 guess != secret 的条件,运行不了


可能我误解了楼主的意思?我以为楼主想实现的是:


输入的不是数字的话,次数不会 - 1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 13:56:55 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-8 13:04
其实也不需要 break 因为 while 那里会不满足 guess != secret 的条件,运行不了

我只是自己觉得猜了就要 -1,不知道楼主怎么想的。
break 用不用都没关系了,我一般都只回答楼主 说的那个具体问题,其他地方如果也有问题,我一般也不会说。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-16 10:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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