


Странная математика python
У меня есть задание:
— Внимание! Внимание! — вырвалось у Бильбо.
— В чем дело? — спросили гномы и разом обернулись к нему, а он, не в силах совладать с собой, воскликнул:
— Послушайте, что я скажу!
— Мне кажется, вам надо пойти на Восток и на месте выяснить, что и как. В конце концов, существует Боковой Вход, и драконы когда-нибудь да спят, и, если посидеть у входа подольше, что-нибудь непременно придет в голову.
Напишите программу, которая определит, есть ли в строках что-нибудь стоящее. А стоящее – это если в строке есть туннель в любой форме (достаточно проверить туннел) или то слово, которое будет введено первым.
Формат ввода
Вводится строка – слово для проверки.
Зaтем вводится число – количество строк, а затем сами строки.
Формат вывода
Если количество стоящих строк не менее трех, то вывести МЫСЛЬ ЕСТЬ! Иначе вывести ПОСИДИМ ЕЩЕ.
Затем вывести процентное отношение неподходящих строк к их общему количеству.
И пример работы кода:
двер
6
Никому из нас не по душе идти через Главные Ворота.
В этом месте есть потайной ход в Нижний туннель.
И уверяю вас, на ваших дверях есть знак.
Как же не быть знаку. Я сам его поставил на дверях.
Как такую огромную дверь можно утаить от кого бы то ни было?
У Смауга было время разобраться во всех ходах и выходах.
Ответ программы на эти строки должен быть такой:
МЫСЛЬ ЕСТЬ!
33.33333333333333
Я написал такой код:
inp1 = str(input())
inp2 = int(input())
qual = 0
idea = False
for i in range(inp2):
inputed = str(input())
if inp1 in inputed or "туннел" in inputed:
idea = True
qual += 1
print(qual, 100, inp2)
if idea and inp2 > 3:
print(f"МЫСЛЬ ЕСТЬ!\n{round(((inp2 - qual) * 100 / inp2), 14)}")
else:
print(f"ПОСИДИМ ЕЩЕ\n{inp2 * 100 / qual}")
Вроде почти все правильно кроме одного момента. Я получаю вот такой вывод:
МЫСЛЬ ЕСТЬ!
33.33333333333334
Мне нужно получить точно такой же ответ, как в первом примере. Как это можно исправить?
inp1 = input()
inp2 = int(input())
qual = 0
idea = False
for i in range(inp2):
inputed = input()
if inp1 in inputed or "туннел" in inputed:
idea = True
qual += 1
print(qual, 100, inp2)
if idea and inp2 > 3:
print(f"МЫСЛЬ ЕСТЬ!\n{round(((inp2 - qual) * 100 / inp2), 2)}")
else:
print(f"ПОСИДИМ ЕЩЕ\n{round(((inp2 - qual) * 100 / inp2), 2)}")