首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从输入生成Python列表

从输入生成Python列表
EN

Stack Overflow用户
提问于 2018-06-02 06:05:17
回答 1查看 79关注 0票数 3

我最近通过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()
EN

回答 1

Stack Overflow用户

发布于 2018-06-02 06:06:56

看看get_students_titlecase的第三行。您应该追加到数组中,而不是将其设置为值。

students_titlecase.append(student["name"].title())
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50651499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档