Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有条件的内部while循环问题_Python_While Loop_Conditional Statements - Fatal编程技术网

Python 有条件的内部while循环问题

Python 有条件的内部while循环问题,python,while-loop,conditional-statements,Python,While Loop,Conditional Statements,我正在做Python速成班的练习7-4,这是关于编写一个while循环来提示客户输入比萨饼配料,直到他们键入quit。当我运行下面的代码时,它每三次打印一次,并在键入quit两次后中断。有人能指出我做错了什么吗。多谢各位 prompt = "Enter your topping: " while True: topping = input(prompt) if input(prompt) == "quit": break else: print(f"{input(

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

prompt = "Enter your topping: "

while True: 
  topping = input(prompt)
  if input(prompt) == "quit":
    break
  else:
    print(f"{input(prompt)} is added")
输入你的配料:意大利香肠 输入你的配料:意大利香肠 输入你的配料:奶酪 奶酪要加进去 输入您的浇头:退出
输入您的配料:退出

您要求输入两次。第一次,您将值存储在topping中,以后再也不会使用它做任何事情

然后,在if-in-if-inputprompt之后,再次请求输入,然后根据它返回的内容执行一些操作,并针对quit进行测试

你应该用topping变量做点什么,而不是再问一次。既然你在学习,我就不告诉你该怎么做了


您需要了解的更重要的一点是,函数调用可以做一些事情。topping=inputprompt不像是一个等式的数学表达式,因此可以用inputprompt替换所有要放置topping的位置。顶部以对象的形式表示某个常量值。提示是解释器将要执行的一组指令,并将这些指令的结果放入代码中。这不是一个相等断言。这是一个名称的赋值。

您要求输入两次。第一次,您将值存储在topping中,以后再也不会使用它做任何事情

然后,在if-in-if-inputprompt之后,再次请求输入,然后根据它返回的内容执行一些操作,并针对quit进行测试

你应该用topping变量做点什么,而不是再问一次。既然你在学习,我就不告诉你该怎么做了


您需要了解的更重要的一点是,函数调用可以做一些事情。topping=inputprompt不像是一个等式的数学表达式,因此可以用inputprompt替换所有要放置topping的位置。顶部以对象的形式表示某个常量值。提示是解释器将要执行的一组指令,并将这些指令的结果放入代码中。这不是一个相等断言。这是一个名称的赋值。

您可能必须使用这个-如果topping==退出:

在您的代码中,您使用的是if-inputprompt==quit:,它要求输入两次,这就是您出错的地方

另外,我不知道你在最后一行做什么,但最后一行应该是这样的-添加了PrintToping或PrintToping+topping,如果你想显示用户输入的topping

一旦使用inputprompt获取了输入,就不需要反复调用同一个表达式,因为它将再次获取输入,这不是我们想要的。相反,使用topping,它已经存储了用户提供的输入


希望它能帮你清除哪里出了问题。

你可能一定是在使用这个-如果topping==退出:

在您的代码中,您使用的是if-inputprompt==quit:,它要求输入两次,这就是您出错的地方

另外,我不知道你在最后一行做什么,但最后一行应该是这样的-添加了PrintToping或PrintToping+topping,如果你想显示用户输入的topping

一旦使用inputprompt获取了输入,就不需要反复调用同一个表达式,因为它将再次获取输入,这不是我们想要的。相反,使用topping,它已经存储了用户提供的输入


希望它能清除你的错误。

你可能必须使用这个-if-topping==退出:你可能必须使用这个-if-topping==退出:如果你想继续使用f字符串,打印行将是printf'{topping}isadded@Nick那也可以。我刚刚添加了我认为对大多数python初学者来说更容易理解的内容。哦,现在我明白我做错了什么。我没有使用这个变量,而是一直要求再输入2次。这只是我使用python的第一周。感谢您,如果您想继续使用f字符串,打印行将是printf'{topping}isadded@Nick那也可以。我刚刚添加了我认为对大多数python初学者来说更容易理解的内容。哦,现在我明白我做错了什么。我没有使用这个变量,而是一直要求再输入2次。这只是我使用python的第一周。谢谢你,伙计