簡體   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