【发布时间】:2020-07-14 09:57:32
【问题描述】:
我是 python 的菜鸟,我想做一个“数字招牌”。我现在只有“A”和“B”。 我不知道如何使用 sys.exit() 完全退出程序。我猜它只是退出函数,然后继续到下一行代码询问下一个字母。我希望它在输入“结束”后完全退出程序,但在退出之前仍然显示字母。
import time, sys
def getLetter(letter):
while True:
if letter =='A'or letter=='a':
print('<A>')
return
break
elif letter =='B'or letter=='b':
print('<B>')
return
break
elif letter == 'space':
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
print('')
time.sleep(0.1)
elif letter == 'end':
sys.exit('Signboard Terminated')
#instructions
print('Welcome to virtual signboard\n')
time.sleep(0.5)
print('Instructions:')
time.sleep(0.5)
print('Enter each character individually (max: 10 characters).')
time.sleep(0.5)
print('To enter a space, type "space"')
time.sleep(0.5)
print('To finish, type "end"')
print('Enter first character:')
firstLetter=input()
time.sleep(0.2)
print('\nEnter second character:')
secondLetter=input()
time.sleep(0.2)
print('\nEnter third character:')
thirdLetter=input()
time.sleep(0.2)
#getting output
output=getLetter(firstLetter)
output=getLetter(secondLetter)
output=getLetter(thirdLetter)
所以理想情况下会发生这种情况: 输入第一个字符: 一个
输入第二个字符: 结束
整个程序会停在那里而不要求第二个和第三个字符,但只显示 A
【问题讨论】:
-
当你输入
a,然后b,然后exit时,它会正确退出。是的,sys.exit的目的就是终止整个程序。 -
谢谢您的回复。我想知道,例如,我输入 A 并立即想退出而不必输入下一个字母,我该如何解决?
标签: python loops if-statement while-loop