def erVal():
print("The value entered is not vaild, enter a valid value")
name = input("Enter your name ")
while True:
erVal()
if name.isalpha() is True:
break
没有循环回来为什么?
我试图在用户将名称输入留空时显示错误消息 while循环有效,但它一直在运行打印errVal
答案 0 :(得分:1)
回答你的问题。假设格式正确,如果输入非alpha值,此代码将进入无限循环。它不会再回来询问这个名字了。输入名称的alpha值将导致执行中断,这将结束while循环。
我认为你的意思更像是以下内容:
def erVal():
print("The value entered is not valid, enter a valid value.")
while True:
name = input("Enter your name ")
if name.isalpha() is True:
break # will exit the while if name is alpha
else:
erVal()
Python非常具有交互性,将来我建议您测试较小的代码片段,例如使用while循环播放以查看中断的内容。这将提高您对代码的理解。