繁体   English   中英

如何解决 Python 错误“NameError: name 'X' is not defined”

[英]How to solve the Python error “NameError: name 'X' is not defined”

这是错误:

Traceback (most recent call last):
File "test.py", line 27, in <module>
      id_check(id,gender)
NameError: name 'gender' is not defined

这是我的简单代码:

#!/bin/python3 
def clear_line():
    print("\n")

def id_check(id,gender):
                    
    id = input(" Do you have an id? : ")    


    if (id == "yes" ) or (id == "Yes") or (id == "y"):
        
        id = True   
    
    elif (id == "no" ) or (id == "No") or (id == "n"):
        
        print ("I need your id")
                
    else:
        print ("Please respound with yes or no "), 
        clear_line()
        id_check(id)

    gender = input(" What is you gender ? ")
    print (gender)

id_check(id,gender) 

问题是在您的 function 中,您要求用户添加一个变量,该变量将是性别。 但是,您给出的变量,性别,没有定义。 因此,它会引发错误。

要修复它,请从 function 中删除参数,如下所示:

def clear_line():
    print("\n")

def id_check():
                    
    id = input(" Do you have an id? : ")    


    if (id == "yes" ) or (id == "Yes") or (id == "y"):
        
        id = True   
    
    elif (id == "no" ) or (id == "No") or (id == "n"):
        
        print ("I need your id")
                
    else:
        print ("Please respound with yes or no "), 
        clear_line()
        id_check(id)

    gender = input(" What is you gender ? ")
    print (gender)

id_check() 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM