#dictionary #input #empty-list
#словарь #вход #пустой список
Вопрос:
объект должен иметь пустой список, который получает входные данные от пользователя и имеет связанный с ним номер. ниже приведено то, что я пробовал:
name = [] number =[] counter = 0 while counter != 3: name_grade = { name.append(str(input("enter your name: "))) : number.append(int(input("enter your number: "))) } counter= counter 1 print(name_number)
но я просто получаю:
{Нет: Нет}
есть ли лучший способ сделать это и как бы я сделал это лучше?
Ответ №1:
Это не работает, потому что в вашем коде нет переменной или словаря с именем name_number. Основной способ сделать это будет заключаться в следующем:
name = [] number =[] counter = 0 name_grade = {} while counter != 3: #taking the inputs: name_inp = str(input("Enter your name: ")) number_inp = int(input("Enter your number: ")) #adding to the dictionary name_grade[name_inp] = number_inp #adding to the lists name.append(name_inp) number.append(number_inp) counter= counter 1 print(name_grade)
Комментарии:
1. из любопытства, что означает раздел в 12-й строке: name_grade[name_inp] и как он используется?
2. Это делает name_inp ключом в словаре с номером_inp в качестве его значения, если ключ еще не присутствовал в словаре. Но если t уже присутствовал в словаре, то значение обновляется. кроме того, если вам помог этот ответ, не могли бы вы, пожалуйста, озвучить ответ.