ALEXANDAR_GEORGIEV

favorite_movie

May 24th, 2022 (edited)
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.86 KB | None | 0 0
  1. check_count = 7
  2. total_score = 0
  3. count_lower = 0
  4. count_upper = 0
  5. length = 0
  6. all_films = []
  7. while check_count != 0:
  8.     name_film = input()
  9.     if name_film == 'STOP':
  10.         break
  11.     for y in name_film:  # Обхождаме всяка буква от името
  12.         ascii_char = ord(y)  # Взимаме ASCII на всяка буква
  13.         # if ascii_char == 32:
  14.             # continue    # Пропуска интервалите
  15.         # Проверяваме дали буквата е голяма или малка
  16.         if not y.isalpha():     # Ако не е буква да добави ASCII на този небуквен символ: интервал или число
  17.             score_name = ascii_char
  18.         elif y.isupper():  # Смята интервалите за малки букви ! ascii ' ' = 32
  19.             score_name = ascii_char - len(name_film)
  20.             count_upper += 1  # Брои главните букви
  21.         else:
  22.             score_name = ascii_char - 2 * len(name_film)    # Смята интервалите за малки букви ! ascii ' ' = 32
  23.             count_lower += 1  # Брои малките букви
  24.         total_score += score_name
  25.     film = {
  26.         'name': name_film,
  27.         'score': total_score
  28.     }
  29.     total_score = 0     # С това нулиране се приближавам до резултата
  30.     score_name = 0      # С това нулиране се приближавам до резултата
  31.     all_films.append(film)
  32.     check_count -= 1
  33.  
  34. max_score = max(all_films, key=lambda x: x['score'])    # Намираме максималните точки
  35. # Намираме името на филма с максимални точки
  36. winner = None
  37. for one_result in all_films:
  38.     if max_score['score'] == one_result["score"]:
  39.         winner = one_result     # winner е речник
  40.  
  41. if check_count == 0:
  42.     # Ако сте достигнали лимита от 7 филма трябва да отпечатате:
  43.     print(f"The limit is reached.")
  44. # Да се отпечата най-добрият филм за вас:
  45.     print(f"The best movie for you is {winner['name']} with {max_score['score']} ASCII sum.")
  46. else:
  47.     print(f"The best movie for you is {winner['name']} with {max_score['score']} ASCII sum.")
  48.  
  49. #     # Преброяване на буквите в името
  50. #     length_name = len(name_film)
  51. #     # Преброяване на малките букви
  52. #     for i in name_film:
  53. #         if(i.islower()):
  54. #             count_lower += 1
  55. #     # Преброяване на големите букви
  56. #     for i in name_film:
  57. #         if(i.isupper()):
  58. #             count_upper += 1
  59. #     # Сума на ASCII
  60. #     ascii_name = [ord(x) for x in name_film]    # Списък с ASCII
  61. #     sum_name = sum(ascii_name)
  62. #     # Взимаме ASCII на всяка буква
  63. #     ascii_name = [ord(x) for x in name_film]  # Списък с ASCII на името
  64. #     for x in name_film:  # Обхождаме всяка буква от името
  65. #         ascii_char = ord(x)  # Взимаме ASCII на всяка буква
  66. #         # Проверяваме дали буквата е голяма или малка
  67. #         # Преброяване на големите букви
  68. #         # for i in name_film:
  69. #         if (x.isupper()):  # Смята интервалите за малки букви ! ascii ' ' = 103
  70. #             count_upper += 1
  71. #         else:
  72. #             count_lower += 1
  73. # # Преброяване на големите букви
  74. # for i in name_film:
  75. #     if (i.isupper()):
  76. #         count_upper += 1
  77. #     else:
  78. #         count_lower += 1
  79. #
  80. #     score_film = sum_name - count_lower * 2 * length_name - count_upper * length_name
  81. #     check_count -= 1
  82. #     print(score_film)
  83.  
  84.  
Add Comment
Please, Sign In to add comment