如何提示用户为列表中的每个值指定一个新名称?

2024-05-21 02:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我需要命名列表中从第一个用户输入创建的每个项目。 我的第一行代码如下:

num_assessment = int(input('How many assessments per student?'))

现在,我需要用户为列表中的每个项目命名;例如:

How many assessments per student?:2
What type of assessment was assessment 1? Essay
How many marks is the Essay worth? 30
What type of assessment was assessment 2 ? Test
How many marks is the Test worth? 70

我可以使用什么功能来执行此操作?你知道吗


Tags: of项目用户列表typewhat命名student
2条回答

你可以试试这个:

n = int(input("How many assesments per student?  "))
dct_values = {}
for i in range(1,n+1):
   asesmnt = input("What type of assessment was assessment "+str(i)+"?  
                   ")
   marks = int(input("How many marks is the "+asesmnt+" worth?  "))
   dct_values[i] = [{asesmnt:marks}]
print(dct_values)

它将所有值存储在一个dict中,O/p将如下所示:

{1: [{'Essay': 30}], 2: [{'Test': 70}]}

带有for循环的字典是构造数据的一种方法。下面是一个例子。你知道吗

num_assessment = int(input('How many assesments per student?\n'))

data = {}

for i in range(1, num_assessment+1):
    data_type = input('What type of assessment was assessment {0}?\n'.format(i))
    data_marks = int(input('How many marks is the {0} worth?\n'.format(data_type)))
    data[i] = {'type': data_type, 'marks': data_marks}

示例

How many assesments per student?
2
What type of assessment was assessment 1?
essay
How many marks is the essay worth?
30
What type of assessment was assessment 2?
assignment
How many marks is the assignment worth?
50

结果

print(data)
{1: {'marks': 30, 'type': 'essay'}, 2: {'marks': 50, 'type': 'assignment'}}

相关问题 更多 >