鱼C论坛

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

[已解决]这样写错误在哪里

[复制链接]
发表于 2021-4-29 19:38:12 | 显示全部楼层 |阅读模式

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

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

x
为啥输入2不返回“”小了小了“
输入09会返回“大了大了”
????
最佳答案
2021-4-29 21:12:07
本帖最后由 柿子饼同学 于 2021-4-29 21:20 编辑
  1. #小游戏
  2. guess = input('不妨猜一下小甲鱼现在心里想的数字(1, 10):')
  3. guess = int(guess)
  4. i = 3
  5. while guess != 7 and i:
  6.      i -= 1
  7.      
  8.      if guess < 7:
  9.           print('大了')
  10.      else:
  11.           print('小了')
  12.          
  13.      guess = int(input('在试一次吧'))
  14.      
  15. if guess == 7:
  16.      print('对了')
  17.      
  18. print('游戏结束啦')
复制代码
自己写的,仅供参考
主要就是你的判断大小和重新输入的代码换一下位置
捕获.PNG
捕获1.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-29 19:54:54 | 显示全部楼层
从上往下走一遍就明白了。
你输入2的情况下,进入while循环。
while循环执行i自减1的操作,然后temp直接输入内容。你输入了9.
屏幕会输出猜错了。接下来执行guess的int化。
因为9比7大,所以输出了大了大了,然后又返回了temp的input内容让你输入。

你的temp和guess既然在前面都定义好了,下面就不要重复输入两次了,这样不是做重复工作吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-29 19:58:18 | 显示全部楼层
当你输入数字2后,程序进行到了第六行,打印了字符串中的字符
然后你再次输入数字,才会进行if语句中的命令。个人理解,如有错误,请指正。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-29 21:00:18 | 显示全部楼层
你guess 后边又定义了一次。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-29 21:12:07 | 显示全部楼层    本楼为最佳答案   
本帖最后由 柿子饼同学 于 2021-4-29 21:20 编辑
  1. #小游戏
  2. guess = input('不妨猜一下小甲鱼现在心里想的数字(1, 10):')
  3. guess = int(guess)
  4. i = 3
  5. while guess != 7 and i:
  6.      i -= 1
  7.      
  8.      if guess < 7:
  9.           print('大了')
  10.      else:
  11.           print('小了')
  12.          
  13.      guess = int(input('在试一次吧'))
  14.      
  15. if guess == 7:
  16.      print('对了')
  17.      
  18. print('游戏结束啦')
复制代码
自己写的,仅供参考
主要就是你的判断大小和重新输入的代码换一下位置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-29 21:54:11 | 显示全部楼层
本帖最后由 江湖散人 于 2021-4-29 22:01 编辑

当你输入2的时候,进入while 循环,i=3-1=2(这个时候你再输入一次2的话,就会显示小了)
然后又提示你输入数字,然后你就输入了9,开始判断9和7的大小,所以只能显示大了。

i=1
while i<=3:
    temp = int(input('请猜一个数字吧:'))
    if temp==7:
        print('恭喜你,猜对了')
        break
    elif temp>7:
        print('大了大了')
    else:
        print('小了小了')
    i+=1
print('游戏结束!')

你好,我也是新手,我把你的程序重新写了一下,不是很好。不过运行没什么问题。仅供参考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-30 22:48:18 From FishC Mobile | 显示全部楼层
江湖散人 发表于 2021-4-29 21:54
当你输入2的时候,进入while 循环,i=3-1=2(这个时候你再输入一次2的话,就会显示小了)
然后又提示你输 ...

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

使用道具 举报

发表于 2021-5-1 00:11:04 | 显示全部楼层
你这个guess两次赋值了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-1 08:39:24 | 显示全部楼层

记得把你认为最好的答案列为最佳答案哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 07:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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