鱼C论坛

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

[已解决]while循环问题

[复制链接]
发表于 2018-8-14 21:07:27 | 显示全部楼层 |阅读模式

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

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

x

temp = input("输入您的数字")
guess = int(temp)
while guess != 8:
    temp = input("猜错了,请重新输入!")
    guess= int(temp)
    if guess == 8:
        print("哼,猜中了也没有奖励!")
    else:
        if guess > 8 :
            print ("猜大了!")
        else:
            print ("猜小了!")
print("不玩了,结束了!")

这是老师视频里面的一个例子,我有个疑问,为什么我输入的值为8的时候,while条件会判断为false,不执行while里面的代码吧,结果应该直接打印不玩了,结束了这个字符串,但是怎么会和里面的if语句进行判断,结果为哼,猜中了也没有奖励和不玩了,结束了这两个字符串,请大神讲解一下。
最佳答案
2018-8-14 21:40:25
真懂了吗
2处input位置不一样
你先输入6,下个输入8是在循环里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-14 21:11:17 | 显示全部楼层
while条件是guess不等于8,你上来就等于8了,while没循环,当然到最后了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 21:15:48 | 显示全部楼层
塔利班 发表于 2018-8-14 21:11
while条件是guess不等于8,你上来就等于8了,while没循环,当然到最后了

大神,后面输入8的时候,不是也应该跳到最后,打印不玩了,结束了这句话?可是怎么还会打印哼,猜中了也没有奖励这句话。求解释!谢啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-14 21:19:43 | 显示全部楼层
cscceczhang 发表于 2018-8-14 21:15
大神,后面输入8的时候,不是也应该跳到最后,打印不玩了,结束了这句话?可是怎么还会打印哼,猜中了也 ...

上你的运行截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 21:23:37 | 显示全部楼层

C:\Users\Administrator\Desktop\3.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-14 21:26:35 | 显示全部楼层

截图发附件,,你这个路径我也挺想看的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 21:27:17 | 显示全部楼层

大神,我懂了,只要不是第一次输入8,就进入了while循环里面了,后面在输入8也就是while条件不判断了,只是里面的if条件进行判断吧,这样理解是不正确,请指导!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 21:30:28 | 显示全部楼层
这个运行图
3.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-14 21:33:29 | 显示全部楼层
只要输入8,循环就跳出
while guess != 8:
    temp = input("猜错了,请重新输入!")
    guess= int(temp)不会执行,直接执行
if guess == 8:
        print("哼,猜中了也没有奖励!")
    else:
        if guess > 8 :
            print ("猜大了!")
        else:
            print ("猜小了!")
print("不玩了,结束了!")
就等于while的语句被屏蔽了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-14 21:40:25 | 显示全部楼层    本楼为最佳答案   
真懂了吗
2处input位置不一样
你先输入6,下个输入8是在循环里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-14 21:46:55 | 显示全部楼层
cscceczhang 发表于 2018-8-14 21:15
大神,后面输入8的时候,不是也应该跳到最后,打印不玩了,结束了这句话?可是怎么还会打印哼,猜中了也 ...

你第一次输入的不是8,就已经进入循环了,后面再输入就是执行循环内的语句,但如果第一次输入的是8,不满足循环条件,就不会执行循环内的判断语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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