Advertisement
DacCum

jhfisdkj

Apr 25th, 2022 (edited)
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.22 KB | None | 0 0
  1. def dict_print(dict_name):
  2.     for i, j in dict_name.items():
  3.         print(f"{i}: ")
  4.         print(f"\tNumber of copies: {j[0]}")
  5.         print(f"\tPrice: {j[1]}")
  6.  
  7.  
  8. def dict_add(dict_name):
  9.     new_magazine_name = input("Enter magazine name: ")
  10.     tmp = dict_name.get(new_magazine_name, -1)
  11.     while tmp != -1:
  12.         print("ERROR: this name was used.")
  13.         print("Please, try again")
  14.         new_magazine_name = input("Enter magazine name: ")
  15.         tmp = dict_name.get(new_magazine_name, -1)
  16.  
  17.     new_number_of_copies = int(input("Enter number of copies magazine: "))
  18.     new_price = int(input("Enter price: "))
  19.  
  20.     dict_name.update({new_magazine_name: (new_number_of_copies, new_price)})
  21.  
  22.  
  23. def dict_del_elem(dict_name):
  24.     del_name = input("Enter enter name you want to delete: ")
  25.     tmp = dict_name.get(del_name, -1)
  26.     while tmp == -1:
  27.         print("ERROR: this name not found.")
  28.         print("Please, try again")
  29.         del_name = input("Enter enter name you want to delete: ")
  30.         tmp = dict_name.get(del_name, -1)
  31.  
  32.     dict_name.pop(del_name)
  33.  
  34.  
  35. def dict_sort(dict_name):
  36.     sorted_tuple = sorted(dict_name.items(), key=lambda x: x[0])
  37.     dict_name = dict(sorted_tuple)
  38.     return dict_name
  39.  
  40.  
  41. def dict_calc(dict_name):
  42.     res = 0
  43.     count = 0
  44.     for i, j in dict_name.items():
  45.         if j[0] < 10000:
  46.             count += 1
  47.             res += j[1]
  48.     res /= count
  49.     return res
  50.  
  51.  
  52. name_magazine = ("eqwdfszx", "bgfdvscz", "bvvtgf", "sbtygfdfvsd", "asdf")
  53. number_of_copies = [8000, 14000, 20000, 9000, 16000]
  54. price = [1100, 1000, 1200, 500, 1300]
  55.  
  56. magazine_dict = {k: v for k, v in zip(name_magazine, {k: v for k, v in zip(number_of_copies, price)}.items())}
  57.  
  58. print("Before sorted: ")
  59. dict_print(magazine_dict)
  60. print("\nAfter sorted: ")
  61. magazine_dict = dict_sort(magazine_dict)
  62. dict_print(magazine_dict)
  63.  
  64. print("\n\nAdd new element or updates: ")
  65. dict_add(magazine_dict)
  66. magazine_dict = dict_sort(magazine_dict)
  67. dict_print(magazine_dict)
  68.  
  69. print("\n\nDelete element: ")
  70. dict_del_elem(magazine_dict)
  71. dict_print(magazine_dict)
  72.  
  73. average_price = dict_calc(magazine_dict)
  74. print(f"\n\nAverage price of magazines with a circulation of less than 10000: {average_price}")
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement