大胡胡 发表于 2020-4-28 11:26:38

超级菜鸟求助:详见截图

print("-------- By XXX 2020年4月28日--------")

temp = input("你猜猜我心里在想什么:")

if temp == "吃饭":
    print("猜对了")
   
else:
    print("这都猜不到,要你何用")
   
temp = input("再给你一次机会:")

if temp == "吃饭":
    print("猜对了")
   
else:
    print("又猜错了,再会")
   
exit = input("please enter any key with exit")

以上是内容,但是执行后会变成如下所示:
-------- By XXX 2020年4月28日--------
你猜猜我心里在想什么:吃饭
猜对了
再给你一次机会:

Hoiste 发表于 2020-4-28 11:33:59

不知道你学了while循环没有,这里的错误就是因为分支和循环理解不到位,分支结构在完成if和else的选择之后会继续往下运行,所以无论输入结果正确与否都会执行到再给一次机会那里。给你个参考代码吧,不过考虑到你的问题可能不知道循环和break来着,所以你想实现的这个功能的理解还需要往下学习几个章节左右
print("-------- By XXX 2020年4月28日--------")

temp = input("你猜猜我心里在想什么:")

while True:
      if temp == "吃饭":
            print("猜对了")
            break
      else:
            print("这都猜不到,要你何用")
            temp = input("再给你一次机会:")

大胡胡 发表于 2020-4-28 11:38:59

Hoiste 发表于 2020-4-28 11:33
不知道你学了while循环没有,这里的错误就是因为分支和循环理解不到位,分支结构在完成if和else的选择之后 ...

非常感谢

因为我只学到了小甲鱼的第2个视频,所以想试试如果输入错误的话,怎样才能提示继续输入

Hoiste 发表于 2020-4-28 11:46:37

大胡胡 发表于 2020-4-28 11:38
非常感谢

因为我只学到了小甲鱼的第2个视频,所以想试试如果输入错误的话,怎样才能提示继续输入

print("-------- By XXX 2020年4月28日--------")

temp = input("你猜猜我心里在想什么:")

if temp == "吃饭":
      print("猜对了")
else:
      print("这都猜不到,要你何用")
      temp = input("再给你一次机会:")
      if temp == "吃饭":
                print("猜对了")
      else:
                print('又猜错了,再回')



改成这样吧,只用到了分支,而且多了一次机会,只是分支嵌套应该可以理解

大胡胡 发表于 2020-4-28 11:48:04

Hoiste 发表于 2020-4-28 11:46
改成这样吧,只用到了分支,而且多了一次机会,只是分支嵌套应该可以理解

谢谢老师{:5_109:}

supermax84 发表于 2020-4-28 12:09:57

Hoiste 发表于 2020-4-28 11:46
改成这样吧,只用到了分支,而且多了一次机会,只是分支嵌套应该可以理解

这代码还是有错误的,输入两次错误结果一样会自行退出的。

Hoiste 发表于 2020-4-28 13:50:23

supermax84 发表于 2020-4-28 12:09
这代码还是有错误的,输入两次错误结果一样会自行退出的。

因为考虑到只需要再给一次机会,所以就嵌套一层就可以了,不算错误。
页: [1]
查看完整版本: 超级菜鸟求助:详见截图