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

#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 уже присутствовал в словаре, то значение обновляется. кроме того, если вам помог этот ответ, не могли бы вы, пожалуйста, озвучить ответ.