2015-11-23 3 views
1

Что будет делать эта программа, так это прочитать пользовательский ввод, чтобы сделать словарь. чтобы сделать его основным, я сделал его как имена и цвета. Я хочу получить информацию из словаря, а затем распечатать ее, чтобы я знал, что первая часть делает, прежде чем я перейду к следующему шагу.Print (Key-Value + Definition each)

colourdef = {} 

line = input('Name and colour: ') 
while line: 
    name, colour = line.split() 
    colourdef[name] = colour 
    line = input('Name and number: ') 

for each in range(len(colourdef)): 
    print(name, colour(each)) 

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

+0

Вам не нужно использовать цикл, вы можете просто напечатать 'dict' непосредственно как:' печать (colourdef) ' – ZdaR

+0

Хм ... Похоже, ваш' while' цикл никогда не остановится, правильно ? –

ответ

0

Dict индексируется по клавишам (строка «имя» в вашем случае), а не числовые индексы в виде массива.

for name,colour in colourdef.items(): 
     print name,colour 
0

Это немного взломанный, но выполняет свою работу.

colourdef = {} 
while True: 
    try : 
    _ = raw_input('Name and colour:') 
    except KeyboardInterrupt: 
    break 
    name, colour = _.split() 
    colourdef[name] = colour 

print colourdef