Condicionais de linha única

As compreensões de listas são excelentes, mas existe outra ótima sintaxe disponível em Python para lidar com condições if-else numa única linha. Imagine que gostaria de atribuir um resultado de Excellent se a pontuação for maior ou igual a 50, e Average se for inferior a 50. Isto pode ser feito numa única linha:
if score >= 50:
    result = 'Excellent'
else:
    result = 'Average'
result = 'Excellent' if score >= 50 else 'Average'
As condições de linha única são especialmente úteis em compreensões de listas. Elas podem ser usadas para gerar elementos de uma lista condicionalmente - ter um valor sob uma condição e outro sob uma condição diferente. O mesmo programa de pontuação pode ser feito numa compreensão de lista também:
scores = [...]
results = ['Excellent' if s >= 50 else 'Average' for s in scores]
print(results)
Cada elemento em results será Excellent ou Average dependendo do valor de s.
Note que isto é diferente de filtrar numa compreensão de lista. Para filtrar, a condição if aparece após o loop for. Aqui, as instruções if e else aparecem na parte do elemento gerado.

Desafio

Dada uma única linha de pontuações de exames, é-lhe pedido que indique se o estudante reprovou ou passou no exame. Todas as pontuações estão separadas por um espaço. Os estudantes reprovam no exame se obtiverem uma pontuação inferior a 40, e passam caso contrário.
A entrada contém uma única linha de pontuações separadas por um espaço.
O programa deve imprimir uma única linha onde, para cada estudante, deverá imprimir FAIL se o estudante reprovou, e PASS se passou no exame.
Tente implementar todo o programa numa única linha.
Input
Output
30 80 90 34 66 100
FAIL PASS PASS FAIL PASS PASS
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

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