12311k

Untitled

Mar 31st, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 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.  
  36. # def process_friend(name, query):
  37. # return '<эту функцию напишем на следующем уроке>'
  38.  
  39.  
  40. def process_query(query):
  41. tokens = query.split(', ')
  42. name = tokens[0]
  43. if name == 'Анфиса':
  44. return process_anfisa(tokens[1])
  45.  
  46.  
  47. def runner():
  48. queries = [
  49. 'Анфиса, сколько у меня друзей?',
  50. 'Анфиса, кто все мои друзья?',
  51. 'Анфиса, где все мои друзья?',
  52. 'Анфиса, кто виноват?'
  53. ]
  54. for query in queries:
  55. print(query, '-', process_query(query))
  56.  
  57. runner()
Add Comment
Please, Sign In to add comment