Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

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

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

После неудачного эксперимента индикатор повредился, и часть сегментов могла перегореть. Когда сегмент перегорает, индикатор теряет возможность показывать цифры, использующие этот сегмент.
Алексей уже выяснил, что индикатор всё ещё способен показать какие‑то n
цифр. Однако радиолюбитель не может проверить остальные цифры, равно как и каждый сегмент отдельно. Поэтому он просит вас помочь найти те цифры, которые гарантированно можно показать на этом индикаторе.

По дате
По рейтингу
Аватар пользователя
Новичок
Изменено
12345678910111213141516171819202122232425262728293031323334
 # Определим сегменты индикатора, где 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)