@Zuzupoj

Как упростить код или найти его альтернативу?

Готовлюсь к олимпиадам по информатике. И там есть похожая задачка:
Задача 2. Надёжное крепление
Уличный рекламный щит прикреплён к опоре при помощи трёх креплений. Первое
крепление может выдерживать ветер, скорость которого не превосходит A м/c, второе
крепление – B м/c, третье – C м/с. Сам щит будет надёжно закреплён, если как минимум два
крепления из трёх выдерживают ветер данной скорости. Определите максимальную скорость
ветра, которую выдержит данный щит.
Программа получает на вход три целых положительных числа A, B, С,
не превосходящие 2×109
, – допустимые скорости ветра, которые выдерживают три крепления
щита. Программа должна вывести одно число – максимальную скорость ветра, которую
выдержит щит.

a = int(input('A: '))
b = int(input('B: '))
c = int(input('C: '))

if a < b and b <= c:
	print(b)
elif a < c and c <= b:
	print(c)
elif a <= c and c < b:
	print(c)
elif a <= c and c < b:
	print(c)
elif b < a and a <= c:
	print(a)
elif b < c and c <= a:
	print(c)
elif b <= a and a < c:
	print(a)
elif b <= c and c < a:
	print(c)
elif c < a and a <= b:
	print(a)
elif c < b and b <= a:
	print(b)
elif c <= a and a < b:
	print(a)
elif c <= b and b < a:
	print(b)
elif a == c and c == b:
	print(c)
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
@o5a
sorted([a,b,c])[1]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
h0w4rd
@h0w4rd
Python dev.
Жуткий колхоз:
max(filter(lambda x: != max([a, b, c]), [a, b, c]))


Вариант получше, но в 3 строки:
speeds = [a, b, c]
speeds.remove(max(speeds))
speeds.remove(min(speeds))
Ответ написан
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
strengths = sorted([int(input('A: ')), int(input('B: ')), int(input('C: '))])
answer = strengths[1]
Ответ написан
Комментировать
longclaps
@longclaps
Хех, две строки без колхоза:
from statistics import median

print(median([2, 3, 5]))
Ответ написан
Комментировать
@Lord_Dantes
Как упростить код или найти его альтернативу?

Путем обдумывания проблемы и надобности решение как таково. Если решение есть мозг не поймет что нужно придумать еще одно как по мне. Или обойти с другой стороны.
Ответ написан
Комментировать
@Web__Nikita03
Твой код напоминает из код из индийского мема) Лично я решал так.
l = [a, b, c]
l.remove(max(l)) 
print(max(l))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 02:45
2000 руб./за проект
24 нояб. 2024, в 23:46
20000 руб./за проект