鱼C论坛

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

[已解决]关于有限循环程序运行的问题

[复制链接]
发表于 2022-2-14 23:20:22 | 显示全部楼层 |阅读模式

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

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

x
print('--------游戏开始------------')

conts = 3

while conts > 0:
      temp = input('请输入数字:')
      guess= int(conts)
      
      conts = conts - 1
      
      if guess == 9:
            print('猜对了真聪明')
            print('甘拜下风')
            break
      else:
            if guess > 9:
                  print('大了,大了')
            else:
                  print('小了,小了')

   
print('游戏结束')
为什么我这个程序运行得出的结论一直是小了。就算输入正确的答案,也是输出小了、。。。求大佬解答!!!!!
最佳答案
2022-2-14 23:23:53
因为你的guess=int(conts)这里错了,应该是guess=int(temp)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-14 23:23:53 | 显示全部楼层    本楼为最佳答案   
因为你的guess=int(conts)这里错了,应该是guess=int(temp)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 23:32:33 | 显示全部楼层
int里面应该填temp,conts只是对总次数的限定而真正的变量是temp
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-15 18:34:06 | 显示全部楼层
为什么变更为guess = int(temp).  这个代码就无法运行了直接显示:
------游戏开始--------
Traceback (most recent call last):
  File "C:/Users/11715/Desktop/5.py", line 4, in <module>
    while couts > 0:
NameError: name 'couts' is not defined
我主要的目的是做一次有限的循环,请问我这个代码应该怎么优化编写?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-15 19:48:41 | 显示全部楼层
1171527218 发表于 2022-2-15 18:34
为什么变更为guess = int(temp).  这个代码就无法运行了直接显示:
------游戏开始--------
Traceback (m ...

报错是因为couts变量没被赋值
  1. print('--------游戏开始------------')



  2. while 1:
  3.       temp = input('请输入数字:')
  4.       guess= int(temp)
  5.       
  6.       
  7.       
  8.       
  9.       if guess == 9:
  10.             print('猜对了真聪明')
  11.             print('甘拜下风')
  12.             break                                         #注意这里 当数字才对是循环推出,猜不对就一直猜
  13.       else:
  14.             if guess > 9:
  15.                   print('大了,大了')
  16.             else:
  17.                   print('小了,小了')

  18.    
  19. print('游戏结束')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-15 21:46:49 | 显示全部楼层
不弃_ 发表于 2022-2-15 19:48
报错是因为couts变量没被赋值

请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-15 21:56:25 | 显示全部楼层
1171527218 发表于 2022-2-15 21:46
请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?


他那个的意思是无限机会,直到猜对才用break跳出循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-16 09:49:11 | 显示全部楼层
1171527218 发表于 2022-2-15 21:46
请问while为什么后面需要跟一个“1”?并且添加一个数值,让这个代码能够进行有限的循环?

那你可以设置一个变量t,当变量的值变为零时结束循环
  1. print('--------游戏开始------------')

  2. t = 3

  3. while t:
  4.       temp = input('请输入数字:')
  5.       guess= int(temp)
  6.       
  7.       
  8.       
  9.       
  10.       if guess == 9:
  11.             print('猜对了真聪明')
  12.             print('甘拜下风')
  13.             break                                         #注意这里 当数字才对是循环推出,猜不对就一直猜
  14.       else:
  15.             if guess > 9:
  16.                   print('大了,大了')
  17.             else:
  18.                   print('小了,小了')
  19.      t -= 1                          #t自减一
  20.    
  21. print('游戏结束')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 05:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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