weixin_43476770
weixin_43476770
采纳率100%
2019-08-16 08:28

循环为什么没有退出?

5
已采纳

新手python学徒,求教。以下为代码

prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
active = True 
while active: 
    message = input(prompt)
    if message != 'quit':
        print(message)
    else:
        active = False

以下为结果

Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. quit
quit

Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. quit

进程已结束,退出代码0

问题一:
为什么第一遍输入quit后循环并没有停止?
问题二:
不符合条件语句if if message != 'quit': 的情况执行了print(message)的原因是什么?
问题三:
为什么第二遍输入quit后循环停止了?
解释器为Pycharm

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • JonathanYan JonathanYan 2年前

    稍微修改了程序,复现了你的结果,看下就懂了,以后debug可以用这种方法
    图片说明

    点赞 评论 复制链接分享
  • u011909918 有人把我昵称抢了 2年前

    debug看你获取到的你的输入是个什么鬼,然后改下不就好了

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    可能和你的控制台有关系,第一次似乎输入的是quit回车,多了一个回车,所以不能相等。

    if message[0:4] != 'quit':

    点赞 评论 复制链接分享

为你推荐