Как мне распечатать все введенные значения? - PullRequest
0 голосов
/ 23 февраля 2020

Я хочу ввести информацию о клиенте в конце. Он отображает только последнего клиента дважды, но я хочу показать их обоих.

num = int(input()) #input number of customer

for customer in range(num):
    name = input()
    birth_year = int(input())
    gender = input()
    Age = 2020 - birth_year
print('---Customer Information---')
for output in range(num):
    print(name,'( age :',Age,')')

Вывод:

2
Danny
1993
male
John
2000
male
---Customer Information---
John ( age : 20 )
John ( age : 20 )

Выход желаний :

2
Danny
1993
male
John
2000
male
---Customer Information---
Danny ( age : 27 )
John ( age : 20 )

1 Ответ

1 голос
/ 23 февраля 2020

Вы можете создать customers список , который содержит dict объекты, в которых хранится информация о клиентах.

Вот пример:

num = int(input())  # quantity of customers


customers = []  # create a customers list
for customer in range(num):  # ask user to enter information about num customers
    # get customer data from user inputs
    name = input()
    birth_year = int(input())
    gender = input()
    age = 2020 - birth_year
    customers.append({"name": name, "birth_year": birth_year,
                      "gender": gender, "age": age})  # append the dict to the list

print('---Customer Information---')
for customer in customers:  # get every customer dict from the customers list
    print(customer["name"], '( age :', customer["age"], ')')  # and print it

Вывод:

2
John
14
M
Jane
20
F
---Customer Information---
John ( age : 2006 )
Jane ( age : 2000 )

Вот содержимое списка customers (я буду использовать pprint Python module , чтобы распечатать его более красиво; вы можете использовать print если хотите):

>>> from pprint import pprint
>>> pprint(customers)
[{'age': 2006, 'birth_year': 14, 'gender': 'M', 'name': 'John'},
 {'age': 2000, 'birth_year': 20, 'gender': 'F', 'name': 'Jane'}]

PS: рекомендую прочитать о списках и диктах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...