[英]Python tqdm TypeError: <lambda>() takes 1 positional argument but 2 were given
[英]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
的變量,但您傳入name
和student_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.