我最近通过PluralSight开始了一个Python课程,其中一个关于列表创建和输入的早期模块让我有点困惑。我编写了与讲师演示的代码相同的代码,但它的行为并不像我认为的那样。
我们被要求获取一个代码,要求输入两个输入,一个姓名和一个学生ID号,然后添加到它上,以创建一个程序,该程序要求输入这两个输入,然后询问用户是否要添加另一个姓名和编号。如果他们这样做了,它将要求另一个名称,号码,如果用户想要添加更多。如果用户说不,它应该打印出一个名称列表(而不是数字)。
我想出了一个代码来做这件事,但是当我打印出列表时,它只打印出输入的最近的名字。我不知道如何打印多个名字的列表,有什么建议吗?谢谢!
students = []
def get_students_titlecase():
students_titlecase = []
for student in students:
students_titlecase = student["name"].title()
return students_titlecase
def print_students_titlecase():
students_titlecase = get_students_titlecase()
print(students_titlecase)
def add_student(name, student_id=332):
student = {"name": name, "student_id": student_id}
students.append(student)
student_list = get_students_titlecase()
student_name = input("Enter Student name: ")
student_id = input("Enter Student id: ")
add_student(student_name, student_id)
add_more = input("Add another student? [y/n]: ")
while add_more == "y":
student_name = input("Enter Student name: ")
student_id = input("Enter Student id: ")
add_student(student_name, student_id)
add_more = input("Add another student? [y/n]: ")
if add_more == "n":
print_students_titlecase()
发布于 2018-06-02 06:06:56
看看get_students_titlecase
的第三行。您应该追加到数组中,而不是将其设置为值。
students_titlecase.append(student["name"].title())
https://stackoverflow.com/questions/50651499
复制相似问题