【发布时间】:2018-07-06 21:31:12
【问题描述】:
总的初学者问题,据我所知,我设法错误地分配了一个字符串,但我看不出我哪里出错了。
任何帮助将不胜感激,代码如下:
students = []
def add_student(name, student_id):
student = {"name": name, "student_id": student_id}
students.append(student)
while 1 == 1:
try:
add_student = input("Do you wish to enter the name of a Student (Yes/No)?")
if add_student == "Yes":
student_name = input("Enter student name: ")
print(student_name)
student_id = input("Enter student ID: ")
print(student_id)
print(student_name + ' ' + student_id)
add_student(student_name, student_id)
print(student_name+' '+student_id)
print(*students)
elif add_student == "No":
break
else:
print("Invalid answer 1")
except KeyError:
print("Invalid answer 2")
print(*students)
【问题讨论】:
-
哪一行会抛出这个错误?..
-
删除
add_student(student_name, student_id)...add_student是输入字符串。或者将def add_student替换为def add_studentSomething() -
第 4 行,已经是个问题了。
students在函数外部定义,您在函数内部附加到它。这些是 2 个独立的空间。如果你想保留这个实现,你需要把global students放在开头和函数里面add_student() -
正如@Rakesh 所发现的,您对函数和变量使用相同的名称。
-
@Rakesh 不要删除,重命名
标签: python