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

Решите задачу на пайтоне:

Двщч Овлв Ученик (107), на голосовании 1 год назад
У радиолюбителя Алексея есть девятисегментный жидкокристаллический индикатор, который может показывать цифры от 0
до 9
в виде цифр «почтового индекса» (см. рисунок):

После неудачного эксперимента индикатор повредился, и часть сегментов могла перегореть. Когда сегмент перегорает, индикатор теряет возможность показывать цифры, использующие этот сегмент.
Алексей уже выяснил, что индикатор всё ещё способен показать какие‑то n
цифр. Однако радиолюбитель не может проверить остальные цифры, равно как и каждый сегмент отдельно. Поэтому он просит вас помочь найти те цифры, которые гарантированно можно показать на этом индикаторе.
Голосование за лучший ответ
Жирный Жир Гуру (3948) 1 год назад
 # Определим сегменты индикатора, где 1 означает работающий сегмент, а 0 - неисправный сегмент 
segments = [
[1, 1, 1, 1, 1, 1, 0], # 0
[0, 1, 1, 0, 0, 0, 0], # 1
[1, 1, 0, 1, 1, 0, 1], # 2
[1, 1, 1, 1, 0, 0, 1], # 3
[0, 1, 1, 0, 0, 1, 1], # 4
[1, 0, 1, 1, 0, 1, 1], # 5
[1, 0, 1, 1, 1, 1, 1], # 6
[1, 1, 1, 0, 0, 0, 0], # 7
[1, 1, 1, 1, 1, 1, 1], # 8
[1, 1, 1, 1, 0, 1, 1] # 9
]

# Функция для проверки, можно ли отобразить заданную цифру на индикаторе
def can_display_digit(digit):
if digit < 0 or digit > 9:
return False # Некорректная цифра
for i in range(7):
if segments[digit][i] == 1 and indicator_segments[i] == 0:
return False # Этот сегмент сломан
return True

# Создадим список для хранения цифр, которые можно отобразить
displayable_digits = []

# Проверим каждую цифру от 0 до 9
for digit in range(10):
if can_display_digit(digit):
displayable_digits.append(digit)

# Выведем список цифр, которые можно показать
print("Цифры, которые можно показать на индикаторе:", displayable_digits)
Похожие вопросы