繁体   English   中英

Python3 TypeError:接受1个位置参数,但给定2个

[英]Python3 TypeError: takes 1 positional argument but 2 were given

我是编程的新手,这是我的代码。但是,我收到错误提示,请附加...。

students = []

def add_student(name, student_id):
    student = {"name": name, "student_id": student_id}
    students.append(student)

name = input("Enter student name: ")
student_id = input("Enter student ID: ")

def save_file(student):
    try:
        f = open("students.txt", "a")
        f.write(student + "\n")
        f.close()
    except Exception:
        print("Could not save file")

add_student(name, student_id)
save_file(name, student_id)

您的save_file方法采用一个名为student的变量,但您传入namestudent_id 因此,您的方法需要一个参数,但有两个参数。 犯错。

您可以通过添加另一个参数来修改方法以同时使用名称和ID,这与您使用add_student 我也建议您在问问题之前先查看堆栈跟踪并尝试了解发生了什么。 您将通过这种方式学到更多,并且可能无需寻求帮助即可了解您的问题。

函数save_file()仅允许获取一个参数student ,但是您正在向函数传递两个参数name, student_id 那是错误!

def save_file(student)更改为def save_file(student, student_id):以修复错误。

希望这可以帮助! 干杯!

暂无
暂无

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

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