首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同时循环中有条件的问题

同时循环中有条件的问题
EN

Stack Overflow用户
提问于 2020-05-29 20:02:01
回答 2查看 125关注 0票数 1

我正在做"Python速成班“的练习7-4,它是关于编写一个while循环,提示客户输入比萨饼配料,直到他们输入”退出“为止。当我运行以下代码时,它每三次打印一次,并在输入“退出”两次后中断。有人能指出我做错了什么吗。谢谢。

代码语言:javascript
运行
复制
prompt = "Enter your topping: "

while True: 
  topping = input(prompt)
  if input(prompt) == "quit":
    break
  else:
    print(f"{input(prompt)} is added")

下面是它运行的一个示例:

代码语言:javascript
运行
复制
>>> Enter your topping: pepperoni
>>> Enter your topping: pepperoni
>>> Enter your topping: cheese
cheese is added
>>> Enter your topping: quit
>>> Enter your topping: quit
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-29 20:08:56

您可能正在使用这个- if topping == "quit":

在您的代码中,您使用的是if input(prompt) == "quit":,它要求输入两次,这就是您要出错的地方。

另外,我不知道你在最后一行做什么,但最后一行应该是这样的- print("topping is added") print(topping+"topping is added"),如果您想显示用户输入的顶部。

一旦您使用input(prompt)获取了输入,就没有必要一次又一次地调用相同的表达式,因为将再次接受输入--(这不是我们想要的)。相反,使用topping,它已经存储了用户提供的输入。

希望它能让你知道哪里出了问题。

票数 3
EN

Stack Overflow用户

发布于 2020-05-29 20:06:37

你要求输入两次。第一次,您将值存储在topping中,从此不再使用它进行任何操作。

然后,在if input(prompt)中的"if“之后再次请求输入,然后根据它返回的内容执行一些操作,并对"quit"进行测试。

您应该使用topping变量来做一些事情,而不是再次询问。既然你在学习,我不会告诉你该怎么做。

更重要的是,您需要理解的是函数调用做了一些事情。topping = input(prompt)不像数学上的相等表达式,因此您可以用input(prompt)代替所有您指的topping。顶部以对象的形式表示一些常量值。提示()是解释器将要执行的一组指令,并将这些指令的结果放在代码中。那个"=“不是一个平等的断言。它是将一个值赋值给一个名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62093811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档