Pętla while. Pomoc w zadaniu. Python

0

Zadanie:
W toalecie Air Force One, system rozpoznawania twarzy identyfikuje wejście prezydenta Donalda T. i uruchamia funkcję odtwarzania amerykańskiego hymnu. Program pobiera kolejne nuty hymnu, zakodowane jako liczby całkowite z pliku za pomocą funkcji get_note() i odtwarza je poprzez funkcję play(), do której jako argument przekazuje wartość nuty. Jeżeli funkcja get_note() zwraca wartość 0 (zero) oznacza to koniec danych w pliku.
API:
get_note() - funkcja zwraca wartość całkowitą, reprezentującą określoną nutę. Wartość 0 oznacza koniec pliku.
play( x ) - funkcja odtwarza nutę o wartości całkowitej x.
Zmodyfikuj ciało funkcji play_anthem() w taki sposób, aby odtworzyła cały hymn. Zwróć uwagę, aby hymn został odtworzony od pierwszej do ostatniej nuty. Nie wywołuj funkcji play() dla wartości 0, gdyż powoduje to przenikliwy pisk, którego prezydent nie znosi!

Kod napisany przeze mnie nie działa poprawnie. Pewnie nie dostrzegam czegoś. Proszę o pomoc.

Mój kod:

def play_anthem():
        while get_note() != 0:
            play( get_note() )
0

Będziesz potrzebował dodatkowej zmiennej, bo sprawdzasz nieparzyste nuty a odtwarzasz parzyste. To będzie coś takiego, nie testowane

note = get_note()
def play_anthem():
        while note != 0:
            play( note )
            note = get_note()
0

W pythonie 3.8 powinno zadziałać:

def play_anthem():
    while note := get_note():
        play( note )

1 użytkowników online, w tym zalogowanych: 0, gości: 1