Condizioni su una sola riga

Le list comprehension sono ottime, ma esiste un'altra eccellente sintassi disponibile in Python per gestire le condizioni if-else su una sola riga. Immagina di voler assegnare un risultato di Excellent se il punteggio è maggiore o uguale a 50, e Average se è inferiore a 50. Questo può essere fatto in una sola riga:
if score >= 50:
    result = 'Excellent'
else:
    result = 'Average'
result = 'Excellent' if score >= 50 else 'Average'
Le condizioni su una sola riga sono particolarmente utili nelle list comprehension. Possono essere utilizzate per generare elementi di una lista in modo condizionale — avere un valore sotto una condizione e un altro sotto una condizione diversa. Lo stesso programma di valutazione può essere realizzato anche in una list comprehension:
scores = [...]
results = ['Excellent' if s >= 50 else 'Average' for s in scores]
print(results)
Ogni elemento in results sarà Excellent o Average a seconda del valore di s.
Nota che questo è diverso dal filtraggio in una list comprehension. Per il filtraggio, la condizione if appare dopo il ciclo for. Qui le istruzioni if ed else appaiono nella parte dell'elemento generato.

Sfida

Data una singola linea di punteggi d'esame, ti viene chiesto di dire se lo studente ha fallito o superato l'esame. Tutti i punteggi sono separati da uno spazio. Gli studenti falliscono l'esame se ottengono un punteggio inferiore a 40, e lo superano altrimenti.
L'input contiene una singola linea di punteggi separati da uno spazio.
Il programma dovrebbe stampare una singola linea dove, per ogni studente, dovrebbe stampare FAIL se lo studente ha fallito, e PASS se ha superato l'esame.
Cerca di implementare l'intero programma in una sola riga.
Input
Output
30 80 90 34 66 100
FAIL PASS PASS FAIL PASS PASS
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue