Использование цикла for для создания словаря. Как остановить цикл for после создания словаря? - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь написать сценарий, чтобы быстро получить статистику для класса, который я преподаю, на основе оценок, занесенных в таблицу Excel.

Я хочу создать словарь для случайного присвоения псевдонима реальным именам учащихся. Таким образом, вывод dic[alias] = student имя. Я сделал это с помощью "Student" + randint для создания ключей. Это работало нормально, однако, каждый раз, когда я запускаю программу, она генерирует новые псевдонимы для студентов. Я хочу, чтобы это была единая программа. Я только начал учиться программировать, и это далеко от моей рулевой рубки, поэтому любая помощь будет принята с благодарностью.

Я попытался сделать цикл while, где, если dic<= class_size, он не будет зацикливаться, но это дало мне тот же результат

после создания словаря, я хочу, чтобы цикл for не запускался.

for i in range(3, len(sheet["A"]) + 1):
    class_size = len(sheet["A"]) - 2
    student = "Student" + randint()
    dic[student] = sheet["A" + str(i)].value

1 Ответ

0 голосов
/ 09 ноября 2019

Я думаю, вам следует сначала создать список студентов.

student_list = ['Student 1','Student 2','Student 3']

создать пустой словарь

dic = {}

обновить значения словаря по длине списка студентов

for student_name in student_list:
    alias = "Student" + str(randint(1,1000))
    dic.update({alias : student_name})

это весь код:

from random import randint

student_list = ['Arnold','Ben','Carl']
dic = {}
for student_name in student_list:
    alias = "Student" + str(randint(1,1000))
    dic.update({alias : student_name})

print(dic)
...