Python3 类型错误 : takes 1 positional argument but 2 were given

标签 python

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

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 所做的操作类似。我还建议您在提出问题之前查看堆栈跟踪并尝试了解发生了什么。通过这种方式,您将了解更多信息,并且无需寻求帮助即可了解自己的问题。

关于Python3 类型错误 : takes 1 positional argument but 2 were given,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52099165/

相关文章:

python - 如何在排除 NaN 值列的同时合并两个数据框?

python - 捕获 Pandas Dataframe 中的日期时间对象

python - 我应该坚持使用bash来开发高级Linux自动化脚本,还是切换到Python?

python - 如何使用 Heroku 配置 Django 数据库?

python - 我的应用程序无法运行,因为我缺少 MSVCR90.dll,我该怎么办?

python - 如何对列的成对点积求和

python - 如何使用 inotify Linux 内核子系统为 python 中的新文件创建创建最简单的目录观察器?

python - 在 Python 的 for .. in 循环中访问具有偏移量的元素

python - MySQL 'IF EXISTS'命令在python中使用时导致错误

python - Vim 无法在 OS X 上使用 python 进行编译