鱼C论坛

 找回密码
 立即注册
查看: 1976|回复: 12

关于第四个视频的小问题

[复制链接]
发表于 2017-7-26 23:50:45 | 显示全部楼层 |阅读模式

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

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

x
print('-------------我爱鱼c工作室------------')

temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)

while guess != 8:
    temp = input('重新输入:')
    guess = int(temp)
    if guess == 8:
        print("我草,你是小甲鱼心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")
    else:
        if guess > 8:
            print('哥,大了大了~')
        else:
            print('嘿,小了!小了!')

print("游戏结束,不玩啦^_^")

这一段代码运行起来  为什么第一次没有输入8 就没有“大了”或者“小了”的提示。但是第一次循环以后每次都有大小提示。





print('-------------我爱鱼c工作室------------')

temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)

if guess == 8:
    print("我草,你是小甲鱼心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")
else:
    if guess > 8:
        print('哥,大了大了~')
    else:
        print('嘿,小了!小了!')

while guess != 8:
    temp = input('重新输入:')
    guess = int(temp)
    if guess == 8:
        print("我草,你是小甲鱼心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")

    else:
        if guess > 8:
            print('哥,大了大了~')
        else:
            print('嘿,小了!小了!')
print("游戏结束,不玩啦^_^")

这一段改进以后运行起来就没有上述问题  这两者区别在哪里?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-27 00:18:56 | 显示全部楼层
首先代码都不一样。
二逻辑上也不一样。
我的建议是,代码很简单,在简单不过了,也很好理解;自己耐心点给个数跟着代码的流程走一遍。很好理解

评分

参与人数 1荣誉 +6 鱼币 +6 贡献 +6 收起 理由
hldh214 + 6 + 6 + 6 热爱鱼C^_^

查看全部评分

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

使用道具 举报

发表于 2017-7-27 05:49:01 | 显示全部楼层
第一问提看作业3
第二问题while是循环到真的才退出 你输入不等于8 它回到你重新输入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-27 17:34:07 | 显示全部楼层
问题1:因为第一次输入的非8数字只用于这个语句(while guess != 8:)的判断,之后输入的非8数字才会进行循环体内的大小判断!

问题2:你把循环体的内容复制一份出来单独为“第一次输入的数字”服务,当然没问题啦!逻辑上没有错,但是你搞复杂了,代码多了一堆!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-27 20:52:13 | 显示全部楼层
我来尝试回答一下,之前听课的时候自己也有想到过。
  1. while guess != secret:
  2.     a = input("wrong !!!please input another:")
复制代码

这段代码while表示当条件判断为真时,执行下面的语句。也就是input的内容。而关于大小判断在后面才出现,我觉得顺序很关键。所以输错之后,直接叫你重输,而不是告诉你大小如何,再重输。
如果要实现你的想法,可以考虑再input前面再加上判断大小的语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-27 23:15:28 | 显示全部楼层
akai735 发表于 2017-7-27 05:49
第一问提看作业3
第二问题while是循环到真的才退出 你输入不等于8 它回到你重新输入。

恩 看到视频一半觉得有点小问题纠结了很久
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-27 23:16:38 | 显示全部楼层
shizhou 发表于 2017-7-27 17:34
问题1:因为第一次输入的非8数字只用于这个语句(while guess != 8:)的判断,之后输入的非8数字才会进行循 ...

深刻理解了while循环下的条件分支只有在第二次输入的时候才启动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-27 23:23:56 | 显示全部楼层
soosima 发表于 2017-7-27 20:52
我来尝试回答一下,之前听课的时候自己也有想到过。

这段代码while表示当条件判断为真时,执行下面的语 ...

我试了一下 结果是第二次输入会出现两次大了或者小了 还有一个问题是输入8的话会直接跳到结束游戏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-27 23:36:58 | 显示全部楼层
shizhou 发表于 2017-7-27 17:34
问题1:因为第一次输入的非8数字只用于这个语句(while guess != 8:)的判断,之后输入的非8数字才会进行循 ...

因为现在课后作业的帖子看不了 所以我想问下有什么更简便的方法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 08:14:27 | 显示全部楼层
s1dney 发表于 2017-7-27 23:23
我试了一下 结果是第二次输入会出现两次大了或者小了 还有一个问题是输入8的话会直接跳到结束游戏

若第一次输入8,会直接结束游戏,因为不符合循环条件,所以不会进入循环体的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 08:32:07 | 显示全部楼层
本帖最后由 shizhou 于 2017-7-28 10:56 编辑
s1dney 发表于 2017-7-27 23:16
深刻理解了while循环下的条件分支只有在第二次输入的时候才启动


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

使用道具 举报

发表于 2017-7-28 08:51:51 | 显示全部楼层
s1dney 发表于 2017-7-27 23:36
因为现在课后作业的帖子看不了 所以我想问下有什么更简便的方法吗?

试试这样:
  1. print('-------------我爱鱼c工作室------------')

  2. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  3. guess = int(temp)

  4. while guess != 8:
  5.     if guess > 8:
  6.         print('哥,大了大了~')
  7.     else:
  8.         print('嘿,小了!小了!')
  9.     temp = input('重新输入:')
  10.     guess = int(temp)

  11. print("我草,你是小甲鱼心里的蛔虫吗?!")
  12. print("哼,猜中了也没有奖励!")
  13. print("游戏结束,不玩啦^_^")
复制代码


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

使用道具 举报

 楼主| 发表于 2017-7-28 18:00:52 | 显示全部楼层

厉害了 老铁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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