zhp466 发表于 2020-6-3 22:50:15

004讲视频上的题目

问题
temp = input("不妨猜一下,小甲鱼现在心里面想的是哪个数字:")
guess = int(temp)
if guess == 8:
    print("我草,你是小甲鱼心里面的蛔虫吗?!")
    print("猜中了也没有奖励")
while guess != 8:
    if guess == 8:
      print("我草,你是小甲鱼心里面的蛔虫吗?!")
      print("猜中了也没有奖励")
    else:
      if guess > 8:
            print("哥,大了大了")
      else:
            print("嘿,小了小了")
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)

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


while guess!8 上面的 if guess 我理解的是跳出while循环外,直接输入8就直接结束了,所以在while上面加一条if guess == 8,然后直接输入8就可以输入出下面的字
但是,下面这两条。
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)

第一行没有小了。
放在下面就可以了。

zhp466 发表于 2020-6-3 22:52:44

图片被吞了一张

Twilight6 发表于 2020-6-3 22:53:23

zhp466 发表于 2020-6-3 22:52
图片被吞了一张

嗯 你说的没毛病然后你的问题呢?

zhp466 发表于 2020-6-3 22:53:32

temp = input("不妨猜一下,小甲鱼现在心里面想的是哪个数字:")
guess = int(temp)
if guess == 8:
    print("我草,你是小甲鱼心里面的蛔虫吗?!")
    print("猜中了也没有奖励")
while guess != 8:
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)
    if guess == 8:
      print("我草,你是小甲鱼心里面的蛔虫吗?!")
      print("猜中了也没有奖励")
    else:
      if guess > 8:
            print("哥,大了大了")
      else:
            print("嘿,小了小了")


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

zhp466 发表于 2020-6-3 22:57:50

我的问题就是,为啥
while guess != 8:
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)
while下面的这两条放在最下面就会出现,小了小的提示,打第一个数字的时候,用上面的就不会出现小了小了的提示

zhp466 发表于 2020-6-3 22:58:58

Twilight6 发表于 2020-6-3 22:53
嗯 你说的没毛病然后你的问题呢?


我的问题就是,为啥
while guess != 8:
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)
while下面的这两条放在最下面就会出现,小了小的提示,打第一个数字的时候,用上面的就不会出现小了小了的提示

Twilight6 发表于 2020-6-3 23:01:01

zhp466 发表于 2020-6-3 22:58
我的问题就是,为啥
while guess != 8:
    temp = input("哎呀,猜错了,请重新输入吧:")


因为 代码运行顺序是从上到下的,你把temp,guess 都放在 if下面 后 是先判断if 条件 然后才到 temp 你的输入

所以先显示判断大小,你写在前面代码自然先运行到 temp 所以 没有判断偏大还是偏小问题

zhp466 发表于 2020-6-3 23:12:24

Twilight6 发表于 2020-6-3 23:01
因为 代码运行顺序是从上到下的,你把temp,guess 都放在 if下面 后 是先判断if 条件 然后才到 temp 你 ...

嗷嗷,那就是我输入的不是8,是1然后代码从上向下运行直接到
if guess > 8:
            print("哥,大了大了")
      else:
            print("嘿,小了小了")
else这里执行,文字
然后在到input这里重新进行输入数字,形成一个循环对嘛?

Twilight6 发表于 2020-6-3 23:14:20

zhp466 发表于 2020-6-3 23:12
嗷嗷,那就是我输入的不是8,是1然后代码从上向下运行直接到
if guess > 8:
            print("哥,大 ...

对的聪明~

zhp466 发表于 2020-6-3 23:16:29

Twilight6 发表于 2020-6-3 23:14
对的聪明~

还是大佬一语点拨我,谢谢大佬帮我解答{:10_257:}

Twilight6 发表于 2020-6-3 23:17:10

zhp466 发表于 2020-6-3 23:16
还是大佬一语点拨我,谢谢大佬帮我解答

没事 加油!~
页: [1]
查看完整版本: 004讲视频上的题目