Python 如何在正确继续程序的同时终止循环?
基本上我想让我的程序得到输入,这已经完成了,但我不想让某个朋友,只有这个朋友,不使用这个程序。出于明显的原因,我将我朋友的真实姓名改为“朋友姓名”。现在,当我输入他的名字时,它会打印Python 如何在正确继续程序的同时终止循环?,python,python-3.x,Python,Python 3.x,基本上我想让我的程序得到输入,这已经完成了,但我不想让某个朋友,只有这个朋友,不使用这个程序。出于明显的原因,我将我朋友的真实姓名改为“朋友姓名”。现在,当我输入他的名字时,它会打印检测到未经授权的用户,并提示我重新输入,这正是我想要的 当我重新输入同一个朋友的名字时,问题就出现了。我想该程序打印,它再次是一个未经授权的用户,该程序将终止。但无论如何,我只能让程序在第二个name条目之后终止,或者我可以将quit()命令缩进4个空格,然后程序继续跳过quit命令并运行程序的其余部分 while
检测到未经授权的用户
,并提示我重新输入,这正是我想要的
当我重新输入同一个朋友的名字时,问题就出现了。我想该程序打印,它再次是一个未经授权的用户,该程序将终止。但无论如何,我只能让程序在第二个name条目之后终止,或者我可以将quit()
命令缩进4个空格,然后程序继续跳过quit命令并运行程序的其余部分
while True:
user_input == ("Friends Name")
print("Unauthorized user detected.")
input("Please enter a new name: ")
if input != "Friends Name":
break
else:
print("Unauthorized user detected, the program will now terminate.")
quit()
在while循环中进行迭代计数的一个好方法是使用一个变量来计算输入朋友姓名的次数。同时
quit()
结束循环,移除该循环
counter = 0
while True:
name = input("Please enter you name")
if name == "Friends Name":
counter += 1
if counter == 2:
break
# or exit() if you want to program to quit in spite of code present later
您可能想知道这一行没有任何作用:
user\u input==(“朋友的名字”)
而True
将永远不会重复,因为它的末尾是quit()
。如果你搜索短语“Python循环控制”,你会找到比我们在这里的答案更好的资源来解释它。你只需要完成这些教程。堆栈溢出不是为了替换现有的教学材料。您可能希望花更多的时间阅读教程(或查找新教程),因为您的代码存在许多问题。您没有将用户输入保存到输入变量。有一个小时,我认为循环将继续请求输入,并且永远不会达到if
条件。然后我意识到它是蟒蛇。请使用来自未来的导入大括号中的
:}