鱼C论坛

 找回密码
 立即注册
查看: 1530|回复: 4

[已解决]Python第四讲

[复制链接]
发表于 2017-3-28 01:27:41 | 显示全部楼层 |阅读模式

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

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

x
#猜一个数字,且只有三次机会
import random#倒数随机函数
secret=random.randint(1,9)

temp=input("不妨猜猜我心里想的是哪个数字:")
guess=int(temp)
time=1
if guess==secret:
    print("恭喜你第一次就答对了")
else:
    while guess!=secret and time<3:   
        temp=input("猜错了,请重新输入吧:")
        guess=int(temp)
        if guess==secret:
            print("猜对了,好厉害")
            print("哈哈,猜中了也没有奖励~~")
        else:
            if guess > secret:
                print("啊哦,大了,大了")
            else:
                print("唉,小了,小了")
          time+=1
print("游戏结束啦!")



输入次数最多只能输3次,上面的代码中time初始值为1,while中time<3,只有这样才能确保最多输3次,为啥改为<=3时,最多就会输4次,关于次数的设置问题,我有些懵!!
最佳答案
2017-3-28 09:32:11
本帖最后由 gopythoner 于 2017-3-28 09:36 编辑

while guess!=secret and time<3:       这里的语句的确只能确保猜2次的
但是为什么实际你猜了3次呢
答案是你的代码总共有2个input(),也就是2个不同情况下的猜数字
你的第一个input()是在while循环之外,那时候还没有time=1不是么
所以第一次猜的数字并不是在time<3的计算之中的,所以这里能猜一次
然后如果第一次猜错了,那就进入了循环,time就开始计算了,从time=1计算到time<3结束,也即是time可以取值1和2
这样在循环里面就可以继续猜2次了,加上之前的1次,所以总共是3次
同理改成<=3的话循环里面就能猜3次了,加上外面的1次,总共就是4次了
认为我的解释够清楚,请设置成最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-28 08:36:48 | 显示全部楼层
你的程序中有两个input()函数,第一个input用一次,第二个input()用两次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-28 09:32:11 | 显示全部楼层    本楼为最佳答案   
本帖最后由 gopythoner 于 2017-3-28 09:36 编辑

while guess!=secret and time<3:       这里的语句的确只能确保猜2次的
但是为什么实际你猜了3次呢
答案是你的代码总共有2个input(),也就是2个不同情况下的猜数字
你的第一个input()是在while循环之外,那时候还没有time=1不是么
所以第一次猜的数字并不是在time<3的计算之中的,所以这里能猜一次
然后如果第一次猜错了,那就进入了循环,time就开始计算了,从time=1计算到time<3结束,也即是time可以取值1和2
这样在循环里面就可以继续猜2次了,加上之前的1次,所以总共是3次
同理改成<=3的话循环里面就能猜3次了,加上外面的1次,总共就是4次了
认为我的解释够清楚,请设置成最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2017-3-30 13:07:40 | 显示全部楼层
gopythoner 发表于 2017-3-28 09:32
while guess!=secret and time

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

使用道具 举报

 楼主| 发表于 2017-3-30 13:08:47 | 显示全部楼层
Rain-Jin 发表于 2017-3-28 08:36
你的程序中有两个input()函数,第一个input用一次,第二个input()用两次

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 09:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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