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

Нужна помощь по Python "Нужна помощь"

Nursultan Moidinov Ученик (29), на голосовании 2 недели назад
Бильбо никогда не забыть, как они скользили и скатывались в сумерках по крутой извилистой тропе вниз, в укромную долину Ривенделл. Делалось все теплее, сосновый дух подействовал на Бильбо усыпляюще, он поминутно клевал носом, чуть не падая с пони. Сосны сменились буками и дубами, потемки убаюкивали. Когда они выехали на прогалину совсем близко к потоку, стало темно, все краски померкли.

И тут среди деревьев неожиданно, как взрыв смеха, зазвучала песня. Конечно, то были эльфы.

Напишите программу, которая найдет дорогу к эльфам. Для этого нужно сосчитать строки, в которых есть эльф в любой форме или слово, которое будет введено во второй строке, после числа. Если таких строк хотя бы на 3 больше, чем тех, где их нет, то вывести ПРАВИЛЬНАЯ ДОРОГА, иначе НЕ ТУДА.

Формат ввода
Вводится число – сколько будет строк для проверки.

Затем вводится проверочная строка.

Затем все остальные строки.

Формат вывода
Сначала вывести ПРАВИЛЬНАЯ ДОРОГА или НЕ ТУДА.

Затем вывести отношение не подходящих строк ко всем введенным в процентах. Округлять не нужно.

Пример №1

Ввод
5
тепл
Хм-м, пахнет эльфами!
Когда они выехали на прогалину, стало темно и тепло.
Он немножко побаивался эльфов.
В то же время они ему нравились.
Торин и его друзья считают эльфов глупыми.

Вывод
ПРАВИЛЬНАЯ ДОРОГА
20.0

Пример №2

Ввод
4
ноч
День клонится к ночи.
Останься, кто хочет.
И песенке этой
Внимай до рассвета.

Вывод
НЕ ТУДА
75.0
Голосование за лучший ответ
GGG Просветленный (26021) 1 месяц назад
 def main(): 
import re

# Чтение количества строк
n = int(input().strip())

# Чтение проверочного слова
check_word = input().strip().lower()

# Инициализация счетчиков
contains_check_word = 0
total_strings = 0

# Регулярное выражение для поиска слова "эльф" в любой форме
elf_pattern = re.compile(r'эльф', re.IGNORECASE)

# Чтение и обработка строк
for _ in range(n):
line = input().strip()
total_strings += 1

# Проверка наличия слова "эльф" или проверочного слова в строке
if elf_pattern.search(line) or check_word in line.lower():
contains_check_word += 1

# Определение результата
not_contains_check_word = total_strings - contains_check_word
if contains_check_word >= not_contains_check_word + 3:
result = "ПРАВИЛЬНАЯ ДОРОГА"
else:
result = "НЕ ТУДА"

# Вычисление процента неподходящих строк
percentage_not_matching = (not_contains_check_word / total_strings) * 100

# Вывод результата
print(result)
print(percentage_not_matching)

# Запуск основной функции
if __name__ == "__main__":
main()
Nursultan MoidinovУченик (29) 1 месяц назад
Благодарю! отличный код!
Татьяна Просветленный (32773) 1 месяц назад
 # Считываем количество строк для проверки 
n = int(input())

# Считываем проверочную строку
check_string = input().strip().lower()

# Считываем остальные строки
strings = [input().strip().lower() for _ in range(n)]

# Проверяем строки
count_with_check = 0
for s in strings:
if 'эльф' in s or check_string in s:
count_with_check += 1

# Определяем количество строк, которые не содержат искомых слов
count_without_check = n - count_with_check

# Выводим правильный путь в зависимости от условия
if count_with_check >= count_without_check + 3:
print("ПРАВИЛЬНАЯ ДОРОГА")
else:
print("НЕ ТУДА")

# Вычисляем и выводим процент неподходящих строк ко всем введенным
percentage_not_suitable = (count_without_check / n) * 100
print(f"{percentage_not_suitable:.1f}")
Теперь проверим два примера, чтобы убедиться, что программа работает корректно:

Пример №1:
 Ввод: 
5
тепл
Хм-м, пахнет эльфами!
Когда они выехали на прогалину, стало темно и тепло.
Он немножко побаивался эльфов.
В то же время они ему нравились.
Торин и его друзья считают эльфов глупыми.

Вывод:
ПРАВИЛЬНАЯ ДОРОГА
20.0
Пример №2:
 Ввод: 
4
ноч
День клонится к ночи.
Останься, кто хочет.
И песенке этой
Внимай до рассвета.

Вывод:
НЕ ТУДА
75.0
Nursultan MoidinovУченик (29) 1 месяц назад
Благодарю Вас! Замечательный код!
Похожие вопросы