除了名称的错误

时间:2016-05-04 21:51:12

标签: python exception exception-handling

我在使用算术测验制作程序时遇到问题。当我输入一个名称时,测验应该打印欢迎信息但是如果我输入空格或数字那么程序应该循环问题但是告诉我他们犯了错误的用户。我使用了try语句和NameError语句来尝试解决这个问题,但是当我使用函数"除了"并在空闲时运行它说我的语法无效。

这是我要修复的代码:

import random 
while True:
    try:
        UserName = input("What is your name:")
        except NameError:
            print ("The answer given does not compute!! Try again")
            continue
        else:
            break

        print(UserName," welcome to the Arithmetic Quiz.")

我已经编辑了该程序的代码,但是当我尝试在Idle中运行它时,它突出显示除了然后说无效的语法。

2 个答案:

答案 0 :(得分:2)

您不需要try-except来检查空字符串

while True:
    UserName = input("What is your name:")
    if not UserName:
        print("The answer given does not compute!! Try again")
        continue
    else:
        break
print(UserName," welcome to the Arithmetic Quiz.")

答案 1 :(得分:1)

这是try: except: else:

的正确缩进
import random 
while True:
    try:
        UserName = input("What is your name:")
    except NameError: 
        print("The answer given does not compute!! Try again")
        continue
    else:
        break
print(UserName," welcome to the Arithmetic Quiz.")
告诫(感谢cricket_007)这个循环永远不会结束。我的意思是用这个评论来说明try:缩进应该如何用于OP。