Задача:
Объявите функцию process_friend(name, query), принимающую имя друга name и запрос query. В этой функции будут обрабатываться запросы, в которых имя — не «Анфиса».
В функции process_friend() напишите ветвление:
если друг с именем name есть в словаре DATABASE:
если переменная query содержит строку 'ты где?' — функция должна вернуть сообщение '{имя_друга} в городе {название_города}'; название города нужно получить из словаря DATABASE.
если переменная query содержит какую-то другую строку — функция должна вернуть сообщение <неизвестный запрос>.
если друга с именем name нет в словаре DATABASE — функция должна вернуть сообщение: У тебя нет друга по имени {имя_друга}.
Теперь нужно дописать функцию process_query().
Добавьте в ветвление if name == 'Анфиса' блок else: если запрос начинается не с имени «Анфиса» — верните результат вызова функции process_friend(), передав в неё два аргумента: имя друга и текст вопроса.
Добавьте новые вызовы функции process_query():
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
В чем ошибка? не могу понять
Python
Задача по Phyton
обычно просят не ошибку найти, а ее причину. Ошибку вы видите сами -- неверный результат, сообщения интерпретатора... А вот так гадать - что именно вам не нравится в написанном вами же коде... есть такой отдел, где ребусы и головоломки предлагают решить -- вот там как раз такая формулировка подойдет
Сергей
ахахахаах домооооой
в этой каше без табуляции влом разбираться
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name = elements[0]
if name == 'Анфиса':
query = query.strip('Анфиса, ')
return process_anfisa(elements[1])
else:
return process_friend(name, elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return '<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_anfisa('сколько у меня друзей?'))
print(process_anfisa('кто все мои друзья?'))
print(process_anfisa('где все мои друзья?'))
print(process_anfisa('кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name = elements[0]
if name == 'Анфиса':
query = query.strip('Анфиса, ')
return process_anfisa(elements[1])
else:
return process_friend(name, elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return '<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_anfisa('сколько у меня друзей?'))
print(process_anfisa('кто все мои друзья?'))
print(process_anfisa('где все мои друзья?'))
print(process_anfisa('кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Александр Данилов
Спасибо, реально помогло
Александр Егошкин
просто пизд.. сколько времени потратил на решение задачи. Вся загвоздка была в функции def process_query(query): при решении второй задачи я её составил правильно. А при решение третей задачи ее нужно было незначительно изменить добавив переменную name
Ермек Джумагулов
Спасибо! Мозг заклинило от этой задачи, а Вы очень помогли!
Исаев Сулейман
Мне тоже очень помогли!Спасибо!)
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
# Допишите код тела функции
elements = query.split(', ')
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(elements[0], elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
format_friends_count(7)
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
# Допишите код тела функции
elements = query.split(', ')
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(elements[0], elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
format_friends_count(7)
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Задача:
Объявите функцию process_friend(name, query), принимающую имя друга name и запрос query. В этой функции будут обрабатываться запросы, в которых имя — не «Анфиса».
В функции process_friend() напишите ветвление:
если друг с именем name есть в словаре DATABASE:
если переменная query содержит строку 'ты где?' — функция должна вернуть сообщение ' { имя_друга } в городе { название_города } '; название города нужно получить из словаря DATABASE.
если переменная query содержит какую-то другую строку — функция должна вернуть сообщение <неизвестный запрос>.
если друга с именем name нет в словаре DATABASE — функция должна вернуть сообщение: У тебя нет друга по имени { имя_друга } .
Теперь нужно дописать функцию process_query().
Добавьте в ветвление if name == 'Анфиса' блок else: если запрос начинается не с имени «Анфиса» — верните результат вызова функции process_friend(), передав в неё два аргумента: имя друга и текст вопроса.
Добавьте новые вызовы функции process_query():
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
format_friends_count(count)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name = elements[1]
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(name, query)
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else: return '<неизвестный запрос>'
else: return f'Соня {name}'
Не могу вызвать два последних запроса.
Объявите функцию process_friend(name, query), принимающую имя друга name и запрос query. В этой функции будут обрабатываться запросы, в которых имя — не «Анфиса».
В функции process_friend() напишите ветвление:
если друг с именем name есть в словаре DATABASE:
если переменная query содержит строку 'ты где?' — функция должна вернуть сообщение ' { имя_друга } в городе { название_города } '; название города нужно получить из словаря DATABASE.
если переменная query содержит какую-то другую строку — функция должна вернуть сообщение <неизвестный запрос>.
если друга с именем name нет в словаре DATABASE — функция должна вернуть сообщение: У тебя нет друга по имени { имя_друга } .
Теперь нужно дописать функцию process_query().
Добавьте в ветвление if name == 'Анфиса' блок else: если запрос начинается не с имени «Анфиса» — верните результат вызова функции process_friend(), передав в неё два аргумента: имя друга и текст вопроса.
Добавьте новые вызовы функции process_query():
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
format_friends_count(count)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name = elements[1]
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(name, query)
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else: return '<неизвестный запрос>'
else: return f'Соня {name}'
Не могу вызвать два последних запроса.
1 if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return (f'{name} в городе {city}')
2 - process_friend(elements[0], elements[1])
по сути это главное

if query == 'ты где?':
city = DATABASE[name]
return (f'{name} в городе {city}')
2 - process_friend(elements[0], elements[1])
по сути это главное

DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
format_friends_count(count)
return f'У тебя {count} друзей.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
element = query.split(', ')
if element[0] == 'Анфиса':
process_anfisa('где все мои друзья?')
return process_anfisa(element[1])
else:
return process_friend(element[0], element[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
format_friends_count(count)
return f'У тебя {count} друзей.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
element = query.split(', ')
if element[0] == 'Анфиса':
process_anfisa('где все мои друзья?')
return process_anfisa(element[1])
else:
return process_friend(element[0], element[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Дма Назмов
а для второй задачи, что нужно дописать/переделать? Вылезает ошибка: "Убедитесь, что вызов process_query('Соня, ты где?') возвращает значение None.
все написал но не пускает дальше все равно...
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
Евгений Белоусов
Такая же проблема. Решения до сих пор нет?
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция
format_friends_count(count)
return f'У тебя {count} друзей.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(elements[0],elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query("Соня, ты где?"))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция
format_friends_count(count)
return f'У тебя {count} друзей.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(elements[0],elements[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query("Соня, ты где?"))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Игорь Рузанов
не верно
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name=elements[0]
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(name, elements[1])
def process_friend(name, query):
if name in DATABASE:
if query=='ты где?':
city=DATABASE[name]
return f'{name} в городе {city}'
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
# Новая функция, она возвращает правильное словосочетание, склоняя слово "друзья"
# в зависимости от того, какое число передано в аргументе friends_count
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
# Вызовите функцию format_friends_count() и передайте в неё count.
# Отредактируйте строку ниже: в ней должно использоваться выражение,
# которое вернёт функция format_friends_count()
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
elements = query.split(', ')
name=elements[0]
if elements[0] == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(name, elements[1])
def process_friend(name, query):
if name in DATABASE:
if query=='ты где?':
city=DATABASE[name]
return f'{name} в городе {city}'
return f'<неизвестный запрос>'
else:
return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count_string = format_friends_count(len(DATABASE))
return f'У тебя {count_string}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE.keys())
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
tokens = query.split(', ')
name = tokens[0]
if name == 'Анфиса': return process_anfisa(tokens[1])
else: return process_friend(name, tokens[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else: return '<неизвестный запрос>'
else: return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}
def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'
def process_anfisa(query):
if query == 'сколько у меня друзей?':
count_string = format_friends_count(len(DATABASE))
return f'У тебя {count_string}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE.keys())
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'
def process_query(query):
tokens = query.split(', ')
name = tokens[0]
if name == 'Анфиса': return process_anfisa(tokens[1])
else: return process_friend(name, tokens[1])
def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else: return '<неизвестный запрос>'
else: return f'У тебя нет друга по имени {name}'
print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Похожие вопросы
- Помогите решить задачу на Phyton
- Матрицы в языке PHYTON
- 4 задачи по темам:Массивы,Строки,Циклы,условный оператор
- Решение задачи по программированию (желательно питон) Сложность O(квадрат(n))
- Как понять логику решения следующей задачи "ДЛЯ НАЧИНАЮЩИХ"?
- Не могу решать задачи на целочисленную арифметику в питоне.
- нужно написать задачи на питоне
- Как научиться понимать и решать поставленные задачи в программирование?
- Математика и решения задачи
- Как понять логику решения следующей задачи (ещё и "для начинающих" называется)?