Язык с программированием. Слон или не слон?
Три слепых мудреца ощупывают предмет и пытаются понять, слон это все-таки или не слон? Всем известно, что у слонов обычно бывают:
один хобот;
один хвост;
4 ноги;
2 уха;
2 глаза;
1 рот.
Ну бывают еще бивни, но это как получится, у кого-то уже сломались, у кого-то еще не выросли. Бивни (и другие части тела) считать не будем, они не определяющие.
Вам передаются наблюдения мудрецов. Нужно определить, получилось ли им наблюдать хоть одного целого слона? Или, возможно, нескольких? Или не получилось. Если до обеда так ни одного слона и не нашли, пора заканчивать.
Формат ввода
Вводятся пары строк, в первой из которых стоит целое число — количество нащупанных частей тела, во второй — название части тела, количество которой ощупали в предыдущей строке. До тех пор, пока не будет вместо части тела введено слово ОБЕД.
Формат вывода
Если получился хотя бы один полнокомплектный слон, то ввод данных нужно прекратить и вывести: Есть слон! и их количество.
Если до появления слова ОБЕД вместо названия так ни одного целого слона и не нашли, вывести: Какие-то слоны нецелые. Пошли обедать.
Пример 1
Ввод Вывод
1
нога
1
рот
2
хобот
3
нога
2
бивень
2
ухо
2
глаз
1
хвост
4
нога
4
ОБЕД
Есть слон!
1
Пример 2
Ввод Вывод
1
глаз
1
хобот
7
нога
3
животик
2
хвост
3
нога
2
бивень
5
ОБЕД
Какие-то слоны нецелые. Пошли обедать.
leg = 0
rot = 0
xobot = 0
xvost = 0
uxo = 0
glaz = 0
i = 0
while True:
a = int(input())
b = input()
if b == 'нога':
leg += a
elif b == 'рот':
rot += a
elif b == 'хобот':
xobot += a
elif b == 'хвост':
xvost += a
elif b == 'ухо':
uxo += a
elif b == 'глаз':
glaz += a
elif b == 'ОБЕД':
break
leg //= 4
rot //= 1
xobot //= 1
xvost //= 1
uxo //= 2
glaz //= 2
while True:
leg -= 1
rot -= 1
xobot -= 1
xvost -= 1
uxo -= 1
glaz -= 1
i += 1
if leg < 0 or rot < 0 or xobot < 0 or xvost < 0 or uxo < 0 or glaz < 0:
break
else:
i += 1
if i == 0:
print('Какие-то слоны нецелые. Пошли обедать.')
else:
print('Есть слон!')
print(i)
Объяснение:
c = 0
hv = 0
hb = 0
nog = 0
yh = 0
rot = 0
gl = 0
kok = ''
g = ''
while g != 'ОБЕД':
kok = int(input())
g = input()
if g == 'хобот':
hb += kok
if g == 'хвост':
hv += kok
if 'ног' in g:
nog += kok
if 'ух' in g:
yh += kok
if g == 'рот':
rot += kok
if 'гла' in g:
gl += kok
if nog >= 4 and yh >= 2 and gl >= 2 and hb >= 1 and hv >= 1:
break
s = min((nog // 4), (yh // 2), (gl // 2))
if nog < 4 or yh < 2 or hb < 1 or hv < 1 or rot < 1 or gl < 2:
print('Какие-то слоны нецелые. Пошли обедать.')
else:
print('Есть слон!')
print(s)
Объяснение: