3.2 Liczby bez skrótu w pliku przykładowym

Matura maj 2024 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 3.2 (3 pkt): ile liczb z pliku `skrot.txt` nie ma nieparzystego skrótu i która z nich jest największa. Najpierw plik `skrot_przyklad.txt` (20 liczb), dla którego arkusz podaje odpowiedź: 2 i 2428 (liczby 266 i 2428). Lista `without` zbiera liczby, dla których funkcja zwraca 0.

def odd_shortcut(n):
    # cyfry od końca; nieparzysta trafia do m na kolejne miejsce (p = 1, 10, 100, ...)
    m = 0
    p = 1
    while n > 0:
        digit = n % 10
        if digit % 2 != 0:
            m = m + digit * p
            p = p * 10
        n = n // 10
    return m  # 0 = skrót nie istnieje (same cyfry parzyste)


with open("skrot_przyklad.txt") as f:
    numbers = [int(line) for line in f]

# 3.2 liczby bez nieparzystego skrótu (same cyfry parzyste)
without = [x for x in numbers if odd_shortcut(x) == 0]

print(len(without))
print(max(without))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.