首页 > 解决方案 > 如何在循环中分配多个变量

问题描述

您好,我对 python 还很陌生,但我试图弄清楚如何分配已经在循环中的多个变量(在本例中为名称和 ID 号)。

这是循环的示例,因为我正在制作一个程序,手动将人员放入不同的团队,然后打印当前团队。

输入应该是姓名和身份证号码。到目前为止,我已经尝试过了,但不知道从这里去哪里。也许将它们放入字典并以某种方式将它们分配给一个团队?

team_size = int(input('What is the team size: '))
for i in range(team_size):
    num = num + 1
    print(f'Enter students for team {num}:')
    temp = input().split(' ')
    manual_dict.update({temp[0]: temp[1]})    

标签: pythonpython-3.xpython-2.7

解决方案


您可以将拆分结果分配给多个变量:

from collections import defaultdict

manual_dict = defaultdict(list)

n_teams = int(input('How many teams you want to enter: '))
for num in range(n_teams):
    team_size = int(input(f'What is the team #{num} size: '))
    for i in range(team_size):
        print(f'Enter #{i} student name and id for team #{num}:')
        name, user_id = input().split(' ')
        user_id = int(user_id)
        manual_dict[num].append({name: user_id})

print(dict(manual_dict))

结果(输出):

How many teams you want to enter: >? 2
What is the team #0 size: >? 1
Enter #0 student name and id for team #0:
>? Jeremy 123
What is the team #1 size: >? 2
Enter #0 student name and id for team #1:
>? Emily 234
Enter #1 student name and id for team #1:
>? Joshua 345

{0: [{'Jeremy': 123}], 1: [{'Emily': 234}, {'Joshua': 345}]}

更多信息在这里


推荐阅读