Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2011 06:08:27

max.maslyuk
От:
Зарегистрирован: 2011-11-25
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Расположение Фамилий в алфавитном порядке

Всем, привет! Помогите, пожалуйста, написать программу, которая бы просила пользователя ввести сначала количество имён, а затем расставляла бы их в алфавитном порядке. Вот, собственно задание, но на английском: Create a Python program to prompt the user to enter a number of names, then print out all the names in alphabetical order of the last names. If the last names are the same, then the first names are compared.

и пример:

How many names do you want to enter? 5
Enter name #1: Bill Clinton
Enter name#2: Michael Jackson
Enter name#3: Tony Blair
Enter name#4: Janet Jackson
Enter name#5: Oprah Winfrey
The names in order are:
Blair, Tony
Clinton, Bill
Jackson, Janet
Jackson, Michael
Winfrey, Oprah




Офлайн

#2 Ноя. 25, 2011 08:00:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9844
Репутация: +  853  -
Профиль   Отправить e-mail  

Расположение Фамилий в алфавитном порядке

#!/usr/bin/env python3

def sort(lst):
lst.sort(key=lambda i: i[1])
lst.sort(key=lambda i: i[0])

n = int(input('How many names do you want to enter? '))
names = []
for i in range(n):
name = input('Enter name #{0}: '.format(i + 1)).split()
names.append([name[1], name[0]])
sort(names)
print('The names in order are:')
for i in names:
print(', '.join(i))
[guest@localhost tests]$ ./t.py
How many names do you want to enter? 5
Enter name #1: Bill Clinton
Enter name #2: Michael Jackson
Enter name #3: Tony Blair
Enter name #4: Janet Jackson
Enter name #5: Oprah Winfrey
The names in order are:
Blair, Tony
Clinton, Bill
Jackson, Janet
Jackson, Michael
Winfrey, Oprah
[guest@localhost tests]$



Отредактировано (Ноя. 25, 2011 08:04:30)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version