【发布时间】:2022-11-03 15:43:09
【问题描述】:
所以我试图使用一个过程(带参数)...我向用户询问输入并创建了一个验证函数来检查输入并查看它们是否是字符串...我检查了它但输出花费了太长时间输出。我该如何解决?
我试过了:
# Create Validate function
def validate_input(LETTER):
while True:
try:
if len(LETTER) == 0:
pass
except:
if len(LETTER) >= 2:
print('Sorry, please enter a single letter')
if LETTER.strip().isdigit():
print('Sorry, please enter a letter')
break
#Ask for inputs
# Create function to validate input that returns true or false. If false then ask for input again.
first_char = input('Enter first character(lower cases) or press Enter: ')
validate_input(first_char)
second_char = input('Enter second character(lower cases) or press Enter: ')
validate_input(second_char)
third_char = input('Enter third character(lower cases) or press Enter: ')
validate_input(third_char)
fourth_char = input('Enter fourth character(lower cases) or press Enter: ')
validate_input(fourth_char)
fifth_char = input('Enter fifth character(lower cases) or press Enter: ')
validate_input(fifth_char)
但结果是:
输入第一个字符(小写)或按 Enter:2
从那里开始说它必须是一个字符串需要太多时间......
先感谢您!
【问题讨论】:
-
你的
while True循环是做什么用的?这需要很长时间(无限长),因为当输入正确时您不会从循环中中断。但同样,你为什么需要while True? -
我建议阅读有关循环、异常、
pass、break的内容。然后你就会明白你的问题