首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建python列表并在输入字段中显示列表项

创建python列表并在输入字段中显示列表项
EN

Stack Overflow用户
提问于 2020-06-16 04:35:43
回答 2查看 539关注 0票数 2

你好,我是这里的编码新手(教科书第5章),我想输入x的学生数量和每个学生的分数。最终,我会计算出每个学生的平均成绩,但现在我正为输入而苦苦挣扎。

代码语言:javascript
运行
复制
number_students = int(input("Number of Students: ")) #get number of students
number_grades = int(input ("How many grades per student: ")) #get number of grades per student
student_list = [] #create empty student list
student_grade = [] #create empty grade list
for num in range(number_students):
    student_list.append(input("Enter Student Name: ")) #create an array based on number of students
    for num in range (number_grades):
        student_grade.append(int(input("Enter grade for #enter student name here# "))) #create an array based on number of grades ```

我无法在student_grade输入字段中显示学生的名字,其次,是否有更好的方法使成绩列表与正确的学生相对应,而不是有一个非常长的成绩列表?也许每个学生的名字条目都是一个列表,然后将分数列表嵌入其中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-16 04:44:07

您可以使用python字典:

代码语言:javascript
运行
复制
number_students = int(input("Number of Students: ")) #get number of students
number_grades = int(input ("How many grades per student: ")) #get number of grades per student
student_list = {} #create empty student dictionary
for num in range(number_students):
    name = input("Enter Student Name: ")
    student_list[name] = []
    for num in range(number_grades):
        grade = input(f"Enter grade for {name} ")
        student_list[name] += [grade]

输出:

代码语言:javascript
运行
复制
Number of Students: 3
How many grades per student: 2
Enter Student Name: Johnny
Enter grade for Johnny 80
Enter grade for Johnny 92
Enter Student Name: Manny
Enter grade for Manny 78
Enter grade for Manny 59
Enter Student Name: Sarah
Enter grade for Sarah 98
Enter grade for Sarah 89
{'Johnny': ['80', '92'], 'Manny': ['78', '59'], 'Sarah': ['98', '89']}
票数 1
EN

Stack Overflow用户

发布于 2020-06-16 04:43:14

一种方法是使用字典列表:

代码语言:javascript
运行
复制
number_students = int(input("Number of Students: "))
number_grades = int(input ("How many grades per student: "))
for num in range(number_students):
    student_name = input("Enter Student Name: ")
    student_grades = []
    for num in range(number_grades):
        student_grades.append(int(input(f"Enter {student_name}'s grade")))
    student_list.append({
                        'student': student_name,
                        'grades': student_grades
                 })

print(student_list[0]['student'])
print(student_list[0]['grades'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62401014

复制
相关文章

相似问题

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