Когда я пытаюсь повторить этот словарь, он только распечатывает дважды клиента с «2222» в качестве ключа. Я понятия не имею, почему это происходит. Раньше я пытался использовать разные переменные для клиентов c1 и c2 (вместо просто c), но это побеждало цель использования цикла for для печати словаря.Итерация словаря в Python
Dict = {}
c = Customer.Customer("1111","Jake","Main St","Happy Valley","CA","96687","8976098765")
Dict[c.getCNumber()] = c
print(Dict[c.getCNumber()].getCNumber())
c = Customer.Customer("2222","Paul","3342 CherrySt","Seatle","WA","98673","9646745678")
Dict[c.getCNumber()] = c
print(Dict[c.getCNumber()].getCNumber())
for key in Dict.keys():
print("***Customer***")
print("Customer Number: " + c.getCNumber)
Печатается:
***Customer***
Customer Number: 2222
***Customer***
Customer Number: 2222
Как заставить его перебирать и иметь клиента 1111, а затем клиент 2222 второй?
'dict's ** не ** приказал. Сначала вы должны скопировать элементы в список, отсортировать список и вывести результат. Кроме того, на вашем выходе нет '1111'. – Bakuriu
Ваш код немного перепутал; вы можете убедиться, что это то, что вы намеревались написать. Также покажите 'Customer.Customer'. –
Проблема не в заказе, она итерации через диктофон и возможность распечатывать информацию каждого клиента. – user3106444