Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.52 KB | None | 0 0
  1. import random
  2. spisok = ['Уранов', 'Витин', 'Васев', 'Козлов', 'Кутиков']
  3. slovar_kvarplata = dict()
  4. slovar_food = dict()
  5. slovar_komynal_yslygi = dict()
  6. slovar_user_1 = dict()
  7. slovar_user_2 = dict()
  8. slovar_user_3 = dict()
  9. debts_1 = dict()
  10. debts_2 = dict()
  11. debts_3 = dict()
  12. summa_za_room = 0
  13. summa_za_komynal_yslygi = 0
  14. def users_():
  15. print('В квартире живет',len(spisok),'человек')
  16. for i in range(len(spisok)):
  17. print(spisok[i])
  18. print()
  19. def kvarplata():
  20. global summa_za_room
  21. print('Какова сумма кварплаты в месяц($)')
  22. summa_za_room = int(input())
  23. print()
  24. def komynal_yslygi():
  25. global summa_za_komynal_yslygi
  26. print('какова сумма коммунальных услуг в месяц($)')
  27. summa_za_komynal_yslygi = int(input())
  28. print()
  29. users_()
  30. kvarplata()
  31. komynal_yslygi()
  32. from tkinter import *
  33.  
  34. root = Tk()
  35. mainmenu = Menu(root)
  36. submenu_kvarplata = Menu(root)
  37. submenu_komynal_yslygi = Menu(root)
  38. submenu_live_1 = Menu(root)
  39. submenu_live_2 = Menu(root)
  40. submenu_live_3 = Menu(root)
  41. root.config(menu=mainmenu)
  42.  
  43. class Obshie:
  44. slovar_debts_1 = dict()
  45. def __init__(self, name, many_1, many_3):
  46. self.name = name
  47. self.many_1 = many_1
  48. self.many_3 = many_3
  49.  
  50. def users_obshie_kvarplata(self):
  51. global summa_za_room
  52. if summa_za_room != 0:
  53. slovar_kvarplata[self.name]=self.many_1
  54. summa_za_room -= self.many_1
  55. else:
  56. slovar_kvarplata[self.name]=self.many_1
  57.  
  58. def users_obshie_komynal_yslygi(self):
  59. global summa_za_komynal_yslygi
  60. if summa_za_komynal_yslygi != 0:
  61. slovar_komynal_yslygi[self.name]=self.many_3
  62. summa_za_komynal_yslygi -= self.many_3
  63. else:
  64. slovar_komynal_yslygi[self.name] = self.many_3
  65.  
  66. class User_1(Obshie):
  67. def user_1_socially_useful_needs(self):
  68. didvis_2 = 0
  69. global slovar_user_1
  70. global debts_1
  71. print('Проживание')
  72. slovar_debts_1 = dict()
  73. rand_dni_event = random.randint(1,2)
  74. spisok_1 = list()
  75. for j in range(rand_dni_event):
  76. rand_dni_day = random.randint(1,30)
  77. spisok_1.append(rand_dni_day)
  78. for i in range(1,30):
  79. if i not in spisok_1:
  80. slovar_user_1.setdefault(i, []).append('В')
  81. slovar_user_1.setdefault(i, []).append(i)
  82. slovar_user_1.setdefault(i, []).append('день покупок не было')
  83. else:
  84. print('Сегодня один из жильцов совершает покупку')
  85. purchase = input()
  86. many = int(input())
  87. short_description = input()
  88. slovar_user_1.setdefault(i, []).append('В')
  89. slovar_user_1.setdefault(i, []).append(i)
  90. slovar_user_1.setdefault(i, []).append('день была совершена покупка. Купили')
  91. slovar_user_1.setdefault(i, []).append(purchase)
  92. slovar_user_1.setdefault(i, []).append('.')
  93. slovar_user_1.setdefault(i, []).append('Потратили')
  94. slovar_user_1.setdefault(i, []).append(many)
  95. slovar_user_1.setdefault(i, []).append('$.')
  96. slovar_user_1.setdefault(i, []).append(short_description)
  97. division = float(many / len(spisok))
  98. didvis_2 += division
  99. for s in range(1,len(spisok)):
  100. debts_1.setdefault(s, []).append(spisok[s])
  101. debts_1.setdefault(s, []).append('должен')
  102. debts_1.setdefault(s, []).append(didvis_2)
  103. debts_1.setdefault(s, []).append('$')
  104.  
  105.  
  106.  
  107. class User_2(Obshie):
  108. def user_2_socially_useful_needs(self):
  109. didvis_2 = 0
  110. global slovar_user_2
  111. global debts_2
  112. slovar_debts_1 = dict()
  113. rand_dni_event = random.randint(1,2)
  114. spisok_1 = list()
  115. for j in range(rand_dni_event):
  116. rand_dni_day = random.randint(1,30)
  117. spisok_1.append(rand_dni_day)
  118. for i in range(1,30):
  119. if i not in spisok_1:
  120. slovar_user_2.setdefault(i, []).append('В')
  121. slovar_user_2.setdefault(i, []).append(i)
  122. slovar_user_2.setdefault(i, []).append('день покупок не было')
  123. else:
  124. print('Сегодня один из жильцов совершает покупку')
  125. purchase = input()
  126. many = int(input())
  127. short_description = input()
  128. slovar_user_2.setdefault(i, []).append('В')
  129. slovar_user_2.setdefault(i, []).append(i)
  130. slovar_user_2.setdefault(i, []).append('день была совершена покупка. Купили')
  131. slovar_user_2.setdefault(i, []).append(purchase)
  132. slovar_user_2.setdefault(i, []).append('.')
  133. slovar_user_2.setdefault(i, []).append('Потратили')
  134. slovar_user_2.setdefault(i, []).append(many)
  135. slovar_user_2.setdefault(i, []).append('$.')
  136. slovar_user_2.setdefault(i, []).append(short_description)
  137. division = float(many / len(spisok))
  138. didvis_2 += division
  139. for s in range(len(spisok)):
  140. if spisok[s] != spisok[1]:
  141. debts_2.setdefault(s, []).append(spisok[s])
  142. debts_2.setdefault(s, []).append('должен')
  143. debts_2.setdefault(s, []).append(didvis_2)
  144. debts_2.setdefault(s, []).append('$')
  145. class User_3(Obshie):
  146. def user_3_socially_useful_needs(self):
  147. didvis_2 = 0
  148. global slovar_user_3
  149. global debts_3
  150. slovar_debts_1 = dict()
  151. rand_dni_event = random.randint(1,2)
  152. spisok_1 = list()
  153. for j in range(rand_dni_event):
  154. rand_dni_day = random.randint(1,30)
  155. spisok_1.append(rand_dni_day)
  156. for i in range(1,30):
  157. if i not in spisok_1:
  158. slovar_user_3.setdefault(i, []).append('В')
  159. slovar_user_3.setdefault(i, []).append(i)
  160. slovar_user_3.setdefault(i, []).append('день покупок не было')
  161. else:
  162. print('Сегодня один из жильцов совершает покупку')
  163. purchase = input()
  164. many = int(input())
  165. short_description = input()
  166. slovar_user_3.setdefault(i, []).append('В')
  167. slovar_user_3.setdefault(i, []).append(i)
  168. slovar_user_3.setdefault(i, []).append('день была совершена покупка. Купили')
  169. slovar_user_3.setdefault(i, []).append(purchase)
  170. slovar_user_3.setdefault(i, []).append('.')
  171. slovar_user_3.setdefault(i, []).append('Потратили')
  172. slovar_user_3.setdefault(i, []).append(many)
  173. slovar_user_3.setdefault(i, []).append('$.')
  174. slovar_user_3.setdefault(i, []).append(short_description)
  175. division = float(many / len(spisok))
  176. didvis_2 += division
  177. for s in range(len(spisok)):
  178. if spisok[s] != spisok[2]:
  179. debts_3.setdefault(s, []).append(spisok[s])
  180. debts_3.setdefault(s, []).append('должен')
  181. debts_3.setdefault(s, []).append(didvis_2)
  182. debts_3.setdefault(s, []).append('$')
  183. class User_4(Obshie):pass
  184. class User_5(Obshie):pass
  185.  
  186. us_1 = User_1(spisok[0], random.randint(0,summa_za_room), random.randint(0, summa_za_komynal_yslygi))
  187. us_1.users_obshie_kvarplata()
  188. us_1.users_obshie_komynal_yslygi()
  189. us_2 = User_2(spisok[1], random.randint(0,summa_za_room), random.randint(0, summa_za_komynal_yslygi))
  190. us_2.users_obshie_kvarplata()
  191. us_2.users_obshie_komynal_yslygi()
  192. us_3 = User_3(spisok[2], random.randint(0,summa_za_room), random.randint(0, summa_za_komynal_yslygi))
  193. us_3.users_obshie_kvarplata()
  194. us_3.users_obshie_komynal_yslygi()
  195. us_4 = User_4(spisok[3], random.randint(0,summa_za_room), random.randint(0, summa_za_komynal_yslygi))
  196. us_4.users_obshie_kvarplata()
  197. us_4.users_obshie_komynal_yslygi()
  198. us_5 = User_5(spisok[4], random.randint(0,summa_za_room), random.randint(0, summa_za_komynal_yslygi))
  199. us_5.users_obshie_kvarplata()
  200. us_5.users_obshie_komynal_yslygi()
  201. us_1.user_1_socially_useful_needs()
  202. us_2.user_2_socially_useful_needs()
  203. if summa_za_room > 0:
  204. asd = random.randint(0,4)
  205. if asd == 0:
  206. slovar_kvarplata[spisok[0]] = slovar_kvarplata[spisok[0]] + summa_za_room
  207. elif asd == 1:
  208. slovar_kvarplata[spisok[1]] = slovar_kvarplata[spisok[1]] + summa_za_room
  209. if asd == 2:
  210. slovar_kvarplata[spisok[2]] = slovar_kvarplata[spisok[2]] + summa_za_room
  211. elif asd == 3:
  212. slovar_kvarplata[spisok[3]] = slovar_kvarplata[spisok[3]] + summa_za_room
  213. if asd == 4:
  214. slovar_kvarplata[spisok[4]] = slovar_kvarplata[spisok[4]] + summa_za_room
  215.  
  216. if summa_za_komynal_yslygi > 0:
  217. asd_2 = random.randint(0,4)
  218. if asd_2 == 0:
  219. slovar_komynal_yslygi[spisok[0]] = slovar_komynal_yslygi[spisok[0]] + summa_za_komynal_yslygi
  220. if asd_2 == 1:
  221. slovar_komynal_yslygi[spisok[1]] = slovar_komynal_yslygi[spisok[1]] + summa_za_komynal_yslygi
  222. if asd_2 == 2:
  223. slovar_komynal_yslygi[spisok[2]] = slovar_komynal_yslygi[spisok[2]] + summa_za_komynal_yslygi
  224. if asd_2 == 3:
  225. slovar_komynal_yslygi[spisok[3]] = slovar_komynal_yslygi[spisok[3]] + summa_za_komynal_yslygi
  226. if asd_2 == 4:
  227. slovar_komynal_yslygi[spisok[4]] = slovar_komynal_yslygi[spisok[4]] + summa_za_komynal_yslygi
  228.  
  229. def user_1_print_kvarplata():
  230. global slovar_kvarplata
  231. print('Взялся платить',slovar_kvarplata[spisok[0]])
  232.  
  233. def user_2_print_kvarplata():
  234. global slovar_kvarplata
  235. print('Взялся платить',slovar_kvarplata[spisok[1]])
  236.  
  237. def user_3_print_kvarplata():
  238. global slovar_kvarplata
  239. print('Взялся платить',slovar_kvarplata[spisok[2]])
  240.  
  241. def user_4_print_kvarplata():
  242. global slovar_kvarplata
  243. print('Взялся платить',slovar_kvarplata[spisok[3]])
  244.  
  245. def user_5_print_kvarplata():
  246. global slovar_kvarplata
  247. print('Взялся платить',slovar_kvarplata[spisok[4]])
  248.  
  249. def user_1_print_komynal_yslygi():
  250. global slovar_komynal_yslygi
  251. print('Взялся платить',slovar_komynal_yslygi[spisok[0]])
  252.  
  253. def user_2_print_komynal_yslygi():
  254. global slovar_komynal_yslygi
  255. print('Взялся платить',slovar_komynal_yslygi[spisok[1]])
  256.  
  257. def user_3_print_komynal_yslygi():
  258. global slovar_komynal_yslygi
  259. print('Взялся платить',slovar_komynal_yslygi[spisok[2]])
  260.  
  261. def user_4_print_komynal_yslygi():
  262. global slovar_komynal_yslygi
  263. print('Взялся платить',slovar_komynal_yslygi[spisok[3]])
  264.  
  265. def user_5_print_komynal_yslygi():
  266. global slovar_komynal_yslygi
  267. print('Взялся платить',slovar_komynal_yslygi[spisok[4]])
  268.  
  269. def user_1_live():
  270. global slovar_user_1
  271. global debts_1
  272. for i in range(1,30):
  273. print(*slovar_user_1[i])
  274. print('Конец месяца')
  275. print()
  276. for x in range(1, len(spisok)):
  277. print(*debts_1[x])
  278.  
  279. def user_2_live():
  280. global slovar_user_2
  281. global debts_2
  282. for i in range(1,30):
  283. print(*slovar_user_2[i])
  284. print('Конец месяца')
  285. print()
  286. for x in range(len(spisok)):
  287. if spisok[x] != spisok[1]:
  288. print(*debts_2[x])
  289.  
  290. def user_3_live():
  291. global slovar_user_3
  292. global debts_3
  293. for i in range(1,30):
  294. print(*slovar_user_3[i])
  295. print('Конец месяца')
  296. print()
  297. for x in range(len(spisok)):
  298. if spisok[x] != spisok[2]:
  299. print(*debts_3[x])
  300.  
  301.  
  302. submenu_kvarplata.add_command(label=spisok[0], command=user_1_print_kvarplata)
  303. submenu_kvarplata.add_command(label=spisok[1], command=user_2_print_kvarplata)
  304. submenu_kvarplata.add_command(label=spisok[2], command=user_3_print_kvarplata)
  305. submenu_kvarplata.add_command(label=spisok[3], command=user_4_print_kvarplata)
  306. submenu_kvarplata.add_command(label=spisok[4], command=user_5_print_kvarplata)
  307.  
  308. submenu_komynal_yslygi.add_command(label=spisok[0], command=user_1_print_komynal_yslygi)
  309. submenu_komynal_yslygi.add_command(label=spisok[1], command=user_2_print_komynal_yslygi)
  310. submenu_komynal_yslygi.add_command(label=spisok[2], command=user_3_print_komynal_yslygi)
  311. submenu_komynal_yslygi.add_command(label=spisok[3], command=user_4_print_komynal_yslygi)
  312. submenu_komynal_yslygi.add_command(label=spisok[4], command=user_5_print_komynal_yslygi)
  313.  
  314. submenu_live_1.add_command(label='Проживание', command=user_1_live)
  315. submenu_live_2.add_command(label='Проживание', command=user_2_live)
  316. submenu_live_3.add_command(label='Проживание', command=user_3_live)
  317.  
  318. mainmenu.add_cascade(label='Кварплата общее', menu=submenu_kvarplata)
  319. mainmenu.add_cascade(label='Коммунальные услуги общее', menu=submenu_komynal_yslygi)
  320. mainmenu.add_cascade(label=spisok[0], menu=submenu_live_1)
  321. mainmenu.add_cascade(label=spisok[1], menu=submenu_live_2)
  322. mainmenu.add_cascade(label=spisok[2], menu=submenu_live_3)
  323. mainmenu.add_cascade(label=spisok[3])
  324. mainmenu.add_cascade(label=spisok[4])
  325.  
  326.  
  327.  
  328. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement