鱼C论坛

 找回密码
 立即注册
查看: 751|回复: 10

[已解决]关于鱼爷讲的while循环语句的问题

[复制链接]
发表于 2019-5-24 22:42:45 | 显示全部楼层 |阅读模式

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

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

x
QQ截图20190524223647.jpg
这是鱼爷写的代码,我觉得有问题。while循环语句的解释是:当条件为真,执行循环体内的内容。为假,不执行循环体内的内容。
可这个while循环体内的代码有一行是 if guess == 8: 我觉得这行是有问题的。如果用户输入8的话,按道理说不会执行while循环语句内的内容,而是直接跳出循环,直接打印游戏结束,不玩了。不知道我这么理解对不对。
下面是我写的代码,求交流。
temp = input("猜猜小甲鱼心里想的数字")
guess = int(temp)
while guess != 8:
    temp = input("猜错了,重新猜吧")
    guess = int(temp)
    if guess > 8:
        print('大了,大了')
    else:
        print('小了,小了')
print("卧槽,你是小甲鱼心里的蛔虫吗")
最佳答案
2019-5-24 23:21:02
走两步 发表于 2019-5-24 23:19
改完了 开始死循环了。。。

这样不会死吧。。
  1. temp = input("猜猜小甲鱼心里想的数字")
  2. guess = int(temp)
  3. while guess != 8:
  4.    
  5.    
  6.     if guess > 8:
  7.         print('大了,大了')
  8.     else:
  9.         print('小了,小了')
  10.     temp = input("猜错了,重新猜吧")
  11.     guess = int(temp)
  12. print("卧槽,你是小甲鱼心里的蛔虫吗")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-24 23:06:30 | 显示全部楼层
你改的,如果第一次输入不是8,进入循坏后就永远出不来了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-24 23:10:12 | 显示全部楼层
风丶少 发表于 2019-5-24 23:06
你改的,如果第一次输入不是8,进入循坏后就永远出不来了。。。

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

使用道具 举报

发表于 2019-5-24 23:10:45 | 显示全部楼层
简单修改下
  1. temp = input("猜猜小甲鱼心里想的数字")
  2. guess = int(temp)

  3. while 1:
  4.     if guess == 8:
  5.         print("卧槽,你是小甲鱼心里的蛔虫吗")
  6.         break
  7.     elif guess > 8:
  8.         print("大了,大了")
  9.     else:
  10.         print("小了,小了")
  11.     temp = input("就再给你一次机会吧")
  12.     guess = int(temp)
  13.         
  14. print("游戏结束,不玩啦QAQ")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-24 23:13:48 | 显示全部楼层

break不懂啊 能不能不用后面的知识解答。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-24 23:15:10 | 显示全部楼层

你可以把
temp = input("猜错了,重新猜吧")
    guess = int(temp)
这两句移到小了下面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-24 23:19:28 | 显示全部楼层
风丶少 发表于 2019-5-24 23:15
你可以把
temp = input("猜错了,重新猜吧")
    guess = int(temp)

改完了 开始死循环了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-24 23:21:02 | 显示全部楼层    本楼为最佳答案   
走两步 发表于 2019-5-24 23:19
改完了 开始死循环了。。。

这样不会死吧。。
  1. temp = input("猜猜小甲鱼心里想的数字")
  2. guess = int(temp)
  3. while guess != 8:
  4.    
  5.    
  6.     if guess > 8:
  7.         print('大了,大了')
  8.     else:
  9.         print('小了,小了')
  10.     temp = input("猜错了,重新猜吧")
  11.     guess = int(temp)
  12. print("卧槽,你是小甲鱼心里的蛔虫吗")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-25 14:12:32 | 显示全部楼层
风丶少 发表于 2019-5-24 23:21
这样不会死吧。。

这回可以了 可是我不太明白第11行代码 我觉得第11行代码是在while循环里面,可是当输入的值为8的时候,应该是跳出while的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-25 14:32:51 | 显示全部楼层
鱼爷的代码:第一次while guess != 8的时候开始循环,接下来while guess == 8的时候打印并结束循环,好像没什么问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-25 20:13:44 | 显示全部楼层
走两步 发表于 2019-5-25 14:12
这回可以了 可是我不太明白第11行代码 我觉得第11行代码是在while循环里面,可是当输入的值为8的时候,应 ...

当输入8之后,准备下次循环,但是进入循环是不等于8,所以输入8之后就不会再次进入循环,而是结束循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 15:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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