2015-01-22 8 views
0

Напишите последовательность операторов, которая печатает название каждой книги в BSI, по одной в строке, в алфавитном порядке; сделайте это без изменения первоначального порядка BSI. Мой код:Алфавитный сорт в python

from collections import namedtuple 
Book = namedtuple('Book', 'author title genre year price instock') 

baby = Book('Tyler Hawkin','ABC','education',2009, 20.00, 75) 
child = Book('Miss Hanigan','Jannie','adventure',1900, 26.00, 51) 
preteen = Book('Leila Star','My first crush','comedy',2013, 8.89, 11) 
teen = Book('John Green', 'Fault in our Stars', 'romance',2006, 17.00,0) 
adult = Book('Shakespeare', 'Romeo', 'Drama', 1610, 5.00, 99) 
elderly = Book('Janett Smith','how to be young again','life',1995, 13.00, 3) 
BSI = [baby,child,preteen,teen,adult,elderly] 

def book_title(book:Book)->str: 
    return book.title 

alpha_BSI = sorted(BSI, key=book_title) 
    for i in range(len(BSI)): 
     print(alpha_BSI[i].title) 

Мой код выводит названия книги, но не в алфавитном порядке.

ответ

0

Я понял, мой код был прав, я просто подумал, что это не потому, что одна из моих строк начала не капитализироваться, а при использовании sort() или sorted() она также сортируется по заглавной.

 Смежные вопросы

  • Нет связанных вопросов^_^