[英]Terminating while loops at anypoint within the loop by user input, using python
我希望用户能够通过输入stop或其他键盘输入来终止嵌套循环。 要求用户输入选项a到g,后接8个if语句,这是我为第一个if语句编写的代码...
if option == "a":
while True:
try:
name = input('\nEnter the students name: ')
cm = input('Coursework mark: ')
em = input('Exam mark: ')
student = (name,cm,em)
database.append(student)
except :
break
我有使用try和except函数的想法,但不确定如何或是否可行,请帮忙!
您可以检查每次输入的值,以及该值是否与您break
关键字(或在关键字列表中)匹配。
if option == "a":
while True:
name = input('\nEnter the students name: ')
if name == 'stop':
break
cm = input('Coursework mark: ')
if cm == 'stop':
break
em = input('Exam mark: ')
if em == 'stop':
break
student = (name,cm,em)
database.append(student)
要检查停止关键字列表,您可以执行以下操作
stop_kws = ['stop', 'exit', 'quit']
...
if name in stop_kws:
break
...
如果您担心键盘中断(例如Ctr + c或Delete),则可以使用内置的Exception KeyboardIntertupt 。 这将使您正常失败:
if option == "a":
try:
name = input('\nEnter the students name: ')
cm = input('Coursework mark: ')
em = input('Exam mark: ')
student = (name,cm,em)
database.append(student)
except KeyboardInterrupt as e:
#
# do something
#
break
这样可以防止您的循环因中断请求而崩溃。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.