Advertisement
Guest User

Untitled

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