umarov99

Untitled

Jul 8th, 2021
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. DATABASE = {
  2. 'Сергей': 'Омск',
  3. 'Соня': 'Москва',
  4. 'Миша': 'Москва',
  5. 'Дима': 'Челябинск',
  6. 'Алина': 'Красноярск',
  7. 'Егор': 'Пермь',
  8. 'Коля': 'Красноярск'
  9. }
  10.  
  11. def format_count_friends(count_friends):
  12. if count_friends == 1:
  13. return '1 друг'
  14. elif 2 <= count_friends <= 4:
  15. return f'{count_friends} друга'
  16. else:
  17. return f'{count_friends} друзей'
  18.  
  19. def process_anfisa(query):
  20. if query == 'Анфиса, сколько у меня друзей?':
  21. count_string = format_count_friends(len(DATABASE))
  22. return f'У тебя {count_string}'
  23. elif query == 'Анфиса, кто все мои друзья?':
  24. friends_string = ', '.join(DATABASE.keys())
  25. return f'Твои друзья: {friends_string}'
  26. elif query == 'Анфиса, где все мои друзья?':
  27. unique_cities = set(DATABASE.values())
  28. cities_string = ', '.join(unique_cities)
  29. return f'Твои друзья в городах: {cities_string}'
  30. else:
  31. return '<неизвестный запрос>'
  32.  
  33. def runner():
  34. queries = [
  35. 'Анфиса, сколько у меня друзей?',
  36. 'Анфиса, кто все мои друзья?',
  37. 'Анфиса, где все мои друзья?',
  38. 'Анфиса, кто виноват?'
  39. ]
  40. for query in queries:
  41. print(query, '-', process_anfisa(query))
  42.  
  43. def process_query(query):
  44. tokens = query.split(', ')
  45. name = tokens[0]
  46. if name == 'Анфиса':
  47. return process_anfisa(tokens[1])
  48. runner ()
Advertisement
Add Comment
Please, Sign In to add comment