我已经回答了所有的论点我做错了什么。我也是新手,所以我可能犯了一个非常明显的错误,谢谢你的帮助。
错误信息
Traceback (most recent call last):
File "C:\Users\cogli\PycharmProjects\inkling\classses_pt2.py", line 4, in <module>
stu = data(input("name, ") + input("major, ") + input("gpa, ") + input("is_on_probation "))
TypeError: __init__() missing 3 required positional arguments: 'major', 'gpa', and 'is_on_probation'
代码
from classes import data
#stu = data(input("name, " + "major, " + "gpa, " + "is_on_probation "))
stu = data(input("name, ") + input("major, ") + input("gpa, ") + input("is_on_probation "))
print(stu.name)
导入文件
class data:
def __init__(self, name, major, gpa, is_on_probation):
self.name=name
self.major=major
self.gpa=gpa
self.is_on_probation=is_on_probation
结果
name, ian
major, physics
gpa, 4.0
is_on_probation False
Traceback (most recent call last):
File "C:\Users\cogli\PycharmProjects\inkling\classses_pt2.py", line 4, in <module>
stu = data(input("name, ") + input("major, ") + input("gpa, ") + input("is_on_probation "))
TypeError: __init__() missing 3 required positional arguments: 'major', 'gpa', and 'is_on_probation'
我正在使用 python 3.9 来执行此操作。
回答1
input("name, ") + input("major, ") + input("gpa, ") + input("is_on_probation ")
返回单个字符串,因为 +
运算符连接字符串。在 Python 中,分隔函数参数的语法使用逗号,所以你应该这样做
stu = data(input("name, "), input("major, "), input("gpa, "), input("is_on_probation "))