Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. #пробовал десятки вариаций, ни одна не сработала
  2. #и новую строку добавлял, и сортировку по двум столбцам – что-то не так
  3.  
  4. oscar_data = [
  5. ['Форма воды', 2017, 6.914, 123, ['фантастика', 'драма'], 19.4, 195.243464],
  6. ['Лунный свет', 2016, 6.151, 110, ['драма'], 1.5, 65.046687],
  7. ['В центре внимания', 2015, 7.489, 129, ['драма', 'криминал', 'история'], 20.0, 88.346473],
  8. ['Бёрдмэн', 2014, 7.604, 119, ['драма', 'комедия'], 18.0, 103.215094],
  9. ['12 лет рабства', 2013, 7.71, 133, ['драма', 'биография', 'история'], 20.0, 178.371993],
  10. ['Операция "Арго"', 2012, 7.517, 120, ['триллер', 'драма', 'биография'], 44.5, 232.324128],
  11. ['Артист', 2011, 7.942, 96, ['драма', 'мелодрама', 'комедия'], 15.0, 133.432856],
  12. ['Король говорит!', 2010, 7.977, 118, ['драма', 'биография', 'история'], 15.0, 414.211549],
  13. ['Повелитель бури', 2008, 7.298, 126, ['триллер', 'драма', 'военный', 'история'], 15.0, 49.230772],
  14. ['Миллионер из трущоб', 2008, 7.724, 120, ['драма', 'мелодрама'], 15.0, 377.910544],
  15. ['Старикам тут не место', 2007, 7.726, 122, ['триллер', 'драма', 'криминал'], 25.0, 171.627166],
  16. ['Отступники', 2006, 8.456, 151, ['триллер', 'драма', 'криминал'], 90.0, 289.847354],
  17. ['Столкновение', 2004, 7.896, 108, ['триллер', 'драма', 'криминал'], 6.5, 98.410061],
  18. ['Малышка на миллион', 2004, 8.075, 132, ['драма', 'спорт'], 30.0, 216.763646],
  19. ['Властелин колец: Возвращение Короля', 2003, 8.617, 201, ['фэнтези', 'драма', 'приключения'], 94.0, 1119.110941],
  20. ['Чикаго', 2002, 7.669, 113, ['мюзикл', 'комедия', 'криминал'], 45.0, 306.776732],
  21. ['Игры разума', 2001, 8.557, 135, ['драма', 'биография', 'мелодрама'], 58.0, 313.542341],
  22. ['Гладиатор', 2000, 8.585, 155, ['боевик', 'драма', 'приключения'], 103.0, 457.640427],
  23. ['Красота по-американски', 1999, 7.965, 122, ['драма'], 15.0, 356.296601],
  24. ['Влюбленный Шекспир', 1998, 7.452, 123, ['драма', 'мелодрама', 'комедия', 'история'], 25.0, 289.317794],
  25. ['Титаник', 1997, 8.369, 194, ['драма', 'мелодрама'], 200.0, 2185.372302],
  26. ['Английский пациент', 1996, 7.849, 155, ['драма', 'мелодрама', 'военный'], 27.0, 231.976425],
  27. ['Храброе сердце', 1995, 8.283, 178, ['драма', 'военный', 'биография', 'история'], 72.0, 210.409945],
  28. ['Форрест Гамп', 1994, 8.915, 142, ['драма', 'мелодрама'], 55.0, 677.386686],
  29. ['Список Шиндлера', 1993, 8.819, 195, ['драма', 'биография', 'история'], 22.0, 321.265768],
  30. ['Непрощенный', 1992, 7.858, 131, ['драма', 'вестерн'], 14.4, 159.157447],
  31. ['Молчание ягнят', 1990, 8.335, 114, ['триллер', 'криминал', 'детектив', 'драма', 'ужасы'], 19.0, 272.742922],
  32. ['Танцующий с волками', 1990, 8.112, 181, ['драма', 'приключения', 'вестерн'], 22.0, 424.208848],
  33. ['Шофёр мисс Дэйзи', 1989, 7.645, 99, ['драма'], 7.5, 145.793296],
  34. ['Человек дождя', 1988, 8.25, 133, ['драма'], 25.0, 354.825435],
  35. ]
  36.  
  37. def print_top5_by_column(data, column, reverse):
  38. oscar_data.sort(key=lambda row: row[column], reverse=True)
  39. oscar_data.sort(key=lambda row: row[reverse], reverse=False)
  40. print('Название | Год | Рейтинг | Длина | Бюджет | Сборы |')
  41. print('--------------------------------------------------------------------------------')
  42. for row in data[:5]:
  43. print('{: <35} | {} | {: >7.2f} | {: >5} | {: >6.1f} | {: >6.1f} |'.format(
  44. row[0], row[1], row[2], row[3], row[5], row[6]))
  45.  
  46.  
  47. print('# Самый высокий рейтинг')
  48. print()
  49. print_top5_by_column(oscar_data, 2, True)
  50. print()
  51. print()
  52.  
  53. print('# Самый большой бюджет')
  54. print()
  55. print_top5_by_column(oscar_data, 5, True)
  56. print()
  57. print()
  58.  
  59. print('# Самые большие сборы')
  60. print()
  61. print_top5_by_column(oscar_data, 6, True)
  62. print()
  63. print()
  64.  
  65. print('# Самая большая длина')
  66. print()
  67. print_top5_by_column(oscar_data, 3, True)
  68. print()
  69. print()
  70.  
  71. print('# Самая маленькая длина')
  72. print()
  73. print_top5_by_column(oscar_data, 3, False)
  74. print()
  75. print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement