鱼C论坛

 找回密码
 立即注册
查看: 2280|回复: 15

[已解决]小白求助第5讲作业改进

[复制链接]
头像被屏蔽
发表于 2020-12-21 20:09:02 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-21 20:17:00 | 显示全部楼层
所以你的问题?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-21 20:19:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-21 20:22:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-21 20:24:17 | 显示全部楼层
一个循环内一个循环外肯定有区别啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-21 21:06:17 | 显示全部楼层    本楼为最佳答案   
  1. import random
  2. secret =  random.randint(1,10)
  3. times = 3
  4. guess = 0
  5. print('和JSY玩儿个游戏吧!')
  6. temp = input('不妨猜猜JSY心里的数字吧:')
  7. while not temp.isdigit():
  8.    temp = input('输入有误,请重新输入:')#出现这个BUG的原因就在于当这个输入正确时进入到while循环而你下面又有一个 temp =input() 所以又得赋值一次

  9. while guess != secret and times > 0:#其实还有一个BUG当你答对的时候 print('恭喜你,答对了')这句是不会出现的因为你的while循环是在guess != secret 的条件
  10.    temp =input() #下进行的当guess == secret时直接退出循环
  11.    guess = int(temp)
  12.    times = times - 1
  13.    if guess == secret:
  14.        print('恭喜你,答对了')
  15.    else:
  16.        if guess < secret:
  17.            print('小了小了')
  18.        else:
  19.            print('大了大了')
  20.        if times > 0:
  21.            print('继续试试吧:', end = '')
  22.        else:
  23.            print('完犊子了')
  24. print('游戏结束了')

复制代码

以下是我的解决办法(仅供参考)
  1. import random
  2. secret =  random.randint(1,10)
  3. times = 3
  4. guess = 0
  5. print('和JSY玩儿个游戏吧!')
  6. temp = input('不妨猜猜JSY心里的数字吧:')
  7. while not temp.isdigit():
  8.    temp = input('输入有误,请重新输入:')

  9. while 1:
  10.    
  11.    guess = int(temp)
  12.    times = times - 1
  13.    if guess == secret:
  14.        print('恭喜你,答对了')
  15.        break#break参数直接退出当前循环马上你就学到了
  16.    
  17.    else:
  18.        if guess < secret:
  19.            print('小了小了')
  20.        else:
  21.            print('大了大了')
  22.        if times > 0:
  23.            print('继续试试吧:', end = '')
  24.            temp=input()#放在这儿就可以先让程序判断再重新赋值
  25.        else:
  26.            print('完犊子了')
  27.            break
  28. print('游戏结束了')


复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-21 21:11:26 | 显示全部楼层
ja258736874 发表于 2020-12-21 20:22
第二个问题,请看下面的代码~
  1. import random
  2. secret =  random.randint(1,10)
  3. times = 3
  4. guess = 0
  5. print('和JSY玩儿个游戏吧!')
  6. temp = input('不妨猜猜JSY心里的数字吧:')#两个input自然就要赋值两次
  7. while not temp.isdigit():
  8.    temp = input('输入有误,请重新输入:')

  9. temp =input()
  10. guess = int(temp)#guess去最后一个temp
  11. while guess != secret and times > 0:
  12.    times = times - 1
  13.    if guess == secret:#input放在外面除了Time就没有什么再阻止while循环了所以会一直以相同的值循环直到time=0
  14.        print('恭喜你,答对了')
  15.    else:
  16.        if guess < secret:
  17.            print('小了小了')
  18.        else:
  19.            print('大了大了')
  20.        if times > 0:
  21.            print('继续试试吧:', end = '')
  22.        else:
  23.            print('完犊子了')
  24. print('游戏结束了')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-21 21:12:10 | 显示全部楼层
有帮助的话给个最佳吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-22 16:34:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-22 16:35:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 16:36:14 | 显示全部楼层
ja258736874 发表于 2020-12-22 16:34
这个程序还是有问题,我运行了 它似乎只循环 guess

????是我理解出问题了吗,你输入1不就是小了小了吗?你就输入大的呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 16:39:03 | 显示全部楼层

这本来就是随机,上面的情况只能说明结果大于3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-22 16:43:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-22 16:44:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 16:46:03 | 显示全部楼层
ja258736874 发表于 2020-12-22 16:44
完美!我要继续努力!

加油,后面学的多了,就可以用很多种办法实现,更完美,更多功能
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2020-12-22 16:49:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 02:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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