Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите,не могу разобраться

Lotrhtrhjtyj yjyukuykyuk Ученик (96), на голосовании 1 год назад
Помогите с задачей, DATABASE = { 'Серёга': 'Омск', 'Соня': 'Москва', 'Миша': 'Москва', 'Дима': 'Челябинск', 'Алина': 'Красноярск', 'Егор': 'Пермь', 'Коля': 'Красноярск' } def format_friends_count(friends_count): if friends_count == 1: return '1 друг' elif 2 ' def process_query(query): name, question = query.split(', ', 1) if name == 'Анфиса': return process_anfisa(question) print('Привет, я Анфиса!') print(process_query('Анфиса, сколько у меня друзей?')) print(process_query('Анфиса, кто все мои друзья?')) print(process_query('Анфиса, где все мои друзья?')) print(process_query('Анфиса, кто виноват?')) print(process_query('Соня, ты где?')) print(process_query('Коля, что делать?')) print(process_query('Антон, ты где?')) заранее спасибо)
Голосование за лучший ответ
Иван Сигаев Искусственный Интеллект (154173) 1 год назад
Вероятно предоставленная стена текста не является Java-программой
Саня Семенов Оракул (60497) 1 год назад
это питон без ИИ понятно но для верности вот
Код, который вы предоставили, написан на языке программирования Python. Несколько строк кода не отформатированы должным образом и содержат синтаксические ошибки. Я исправил код и добавил объяснения к его функциональности:
 DATABASE = {'Серёга': 'Омск', 'Соня': 'Москва', 'Миша': 'Москва', 'Дима': 'Челябинск', 'Алина': 'Красноярск', 'Егор': 'Пермь', 'Коля': 'Красноярск'} 

def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
else:
return f'{friends_count} друзей'

def process_query(query):
name, question = query.split(', ', 1)
if name == 'Анфиса':
if question == 'сколько у меня друзей?':
count = len(DATABASE)
return format_friends_count(count)
elif question == 'кто все мои друзья?':
friends = list(DATABASE.keys())
return ', '.join(friends)
elif question == 'где все мои друзья?':
locations = list(set(DATABASE.values()))
return ', '.join(locations)
else:
return 'Я не знаю ответа на этот вопрос.'
else:
return f'Привет, {name}! Я не Анфиса, но могу попытаться помочь.'

print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
Объяснение функциональности кода:

DATABASE - это словарь, который содержит имена людей и соответствующие им города.
format_friends_count(friends_count) - это функция, которая принимает количество друзей и возвращает строку с правильным форматом для количества друзей.
process_query(query) - это функция, которая принимает запрос в виде строки и анализирует его. Если имя в запросе равно "Анфиса", она обрабатывает различные вопросы относительно друзей и возвращает соответствующий ответ. В противном случае, она возвращает простое приветствие с указанием имени.
В основной части кода вызываются различные запросы для функции process_query() и выводятся соответствующие ответы.
Sergio 2.1 Оракул (67319) 1 год назад
Ваш код содержит функцию format_friends_count, которая принимает количество друзей в качестве аргумента и возвращает строку с правильным склонением слова “друг”. Однако, в этой функции отсутствует условие для elif и код после этого неполный. Вы можете дополнить эту функцию, например, так:
 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} друзей'
Также в вашем коде есть функция process_query, которая принимает запрос в виде строки и обрабатывает его. Однако, в этой функции вызывается другая функция process_anfisa, которой нет в предоставленном коде. Вам необходимо добавить определение этой функции, чтобы ваш код работал корректно.
Похожие вопросы