我试图做while循环的三层嵌套。如果输入一个十进制数字,它将返回错误,然后,如果您输入大于31的数字,它将返回错误,但是如果再次尝试输入十进制数字,则代码将停止。无论用户输入错误的格式次数或顺序如何,都需要帮助使其无限期循环。还需要验证输入的日期对于给定月份中的天数有效吗?import stringvarD= input("Enter Date/Day:")while varD.isdigit() or varD.isspace()\ or varD.isdecimal or int(varD)>31 \ or int(varD)==26 or int(varD)<=0: print ("Error: Enter Valid Number!") varD= input("Enter Day:")else: print ("You have entered:", varD)
1 回答

www说
TA贡献1775条经验 获得超8个赞
使用无限循环并仅在满足所有条件时才中断。
while True:
varD = input("Enter Day:")
if varD.isdigit() and not varD.isspace() and varD.isdecimal() \
and int(varD) < 32 and int(varD) != 26 and int(varD) > 0:
break
print("Error: Enter Valid Number!")
print("You have entered: %s" % varD)
同样,您对术语三层嵌套的理解是不正确的。三层嵌套意味着这样的事情:
while expression1:
while expression2:
while expression3:
do_something()
添加回答
举报
0/150
提交
取消