鱼C论坛

 找回密码
 立即注册
查看: 1993|回复: 6

求助!为什么循环结束的时候,if guess==answer 的print文字不显示,只显示游戏结束?

[复制链接]
发表于 2017-12-29 12:57:39 | 显示全部楼层 |阅读模式

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

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

x
import random
answer = random.randint(1,10)
temp = input('请你来猜一下我心里想的数字是什么吧:')
guess = int(temp)
while guess != answer:
    if guess == answer:
        print('哇,你好厉害,这都被你猜中了')
        print('不过,猜中了也没奖')
    else:
        if guess < answer:
            print('小了,小了')
            temp = input('请重新输入:')
            guess = int(temp)
        else:
            print('太大了')
            temp = input('重新输:')
            guess = int(temp)
print('游戏结束')
        
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-29 13:11:23 | 显示全部楼层
因为它在while循环里面,而while循环条件就是不等
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 13:18:14 | 显示全部楼层
import random
answer = random.randint(1,10)
temp = input('不妨猜一猜我心里想的数字是什么:')
guess = int(temp)
while guess != answer:
    if guess < answer:
        print('太小了')
        temp = input('再猜:')
        guess = int(temp)
    if guess > answer:
        print('大了大了')
        temp = input('请重新输入:')
        guess = int(temp)
    if guess == answer:
        print('我靠,这都被你猜对了')
        print('你可真厉害')
print('游戏结束')

这种情况if guess == answer 后面就会print内容,感觉两种情况都是在while循环内的,懵逼ing
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 14:02:28 | 显示全部楼层
这个While循环实现的条件是guess!=answer,也就是说当guess==answer的时候不会运行循环中的程序,直接跳过循环!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 14:51:25 | 显示全部楼层
vsgufeng 发表于 2017-12-29 14:02
这个While循环实现的条件是guess!=answer,也就是说当guess==answer的时候不会运行循环中的程序,直接跳过循 ...

明白了,谢谢大神
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 14:58:33 | 显示全部楼层
子洒出 发表于 2017-12-29 14:51
明白了,谢谢大神


import random
answer = random.randint(1,10)
temp = input('不妨猜一猜我心里想的数字是什么:')
guess = int(temp)
while guess != answer:
    if guess < answer:
        print('太小了')
        temp = input('再猜:')
        guess = int(temp)
    if guess > answer:
        print('大了大了')
        temp = input('请重新输入:')
        guess = int(temp)
    if guess == answer:
        print('我靠,这都被你猜对了')
        print('你可真厉害')
print('游戏结束')

好像还是不对,这个while循环的条件应该也是 guess != answer,但是如果第一次输入的不是正确答案的话,后面再正确的话就会输出“我靠,这都被你猜对了”、“你可真厉害”;而第一次就答对的话就是直接结束游戏,和你说的情况一样。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 15:09:05 | 显示全部楼层
while guess != answer:  走不到这个循环里面了,在这之前就输出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 19:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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