鱼C论坛

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

第四讲改进习题

[复制链接]
发表于 2018-11-12 23:05:47 | 显示全部楼层 |阅读模式

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

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

x
我写的代码是这样的,但是代码却不是三次机会,我理解参考答案的意思,我想问我这样写有什么问题?以下红色字体为我的困惑,就算没有times = times - 1也应该是三次机会啊,请大神看看!
import random
times = 3
secret = random.randint(1,10)
print("---------------------你好啊三生三世十里桃花------------------")
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:",end = " ")
while (guess != secret) and (times>0):
    temp =input()
    guess = int(temp)
   
    if guess == secret:
        print("你是我心里的蛔虫吗?")
        print("哼!猜中也没哟奖励")

    else:
        if guess > secret:
            print("大哥,大了大了--")
        else:
                print("嘿!小了小了")
        if times>0 and times<=3:
            print("再试一次吧:" ,end = " ")
        else:
             print("机会用完了!")
            
print("游戏结束,不和你玩了")
            

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-12 23:16:29 | 显示全部楼层
本帖最后由 斯林 于 2018-11-12 23:20 编辑

你似乎需要一个  time-=1
没有的话,time不就永远是3了么,是3不就一直满足循环条件了,那就只要没猜到一直可以再试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-20 21:05:18 | 显示全部楼层
times的值始终为3,没有变化,while条件里的times>0始终为true,如果猜不对数字就一直在循环里猜数字,除只有猜对了数字才能不进入循环,结束游戏。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-20 21:27:07 From FishC Mobile | 显示全部楼层
你times始终为3的前提下,除了猜对数字,怎么才能跳出循环你告诉我?。。。猜错一次times应该减少一次才对吧?。。你times赋值完了,在循环里值再也没变动过啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-20 21:35:50 | 显示全部楼层
本帖最后由 13572044595 于 2018-11-20 21:37 编辑

兄弟,编译器 和 人 不一样,他不管你循环了多少遍,它只认识数值,
如果循环一次,不改变数值,就会无限循环,一直到你猜对为止~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-3 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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