1
resposta

Dúvida - Calculando o tempo total de projeto

atividade_a = int(input('Informe os dias da atividade A: '))
atividade_b = int(input('Informe os dias da atividade B: '))
atividade_c = int(input('Informe os dias da atividade C: '))
soma_dias = atividade_a + atividade_b + atividade_c
if atividade_a < 0 or atividade_b < 0 or atividade_c < 0:
print('ERROR! Os dias não podem ser negativos')
else:
print(f'O total de dias são {soma_dias}')

PS: vi que tanto o operador lógico and e or são utilizáveis, somente invertendo o sinal de < > respectivamente.

Fiquei com dúvida no seguinte: qual é o correto de se usar? se é que tem o correto, ou qual seria a melhor prática?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

No seu código você usou:
if atividade_a < 0 or atividade_b < 0 or atividade_c < 0:

Isso significa: se qualquer uma das atividades tiver dias negativos, então exiba a mensagem de erro. O operador or é o correto nesse caso, porque basta que uma das condições seja verdadeira para que o bloco if seja executado.

Se você usar o and ao invés do or, todas as três atividades precisariam ter dias negativos ao mesmo tempo para que a mensagem de erro fosse exibida. Isso não é o comportamento desejado, porque você quer impedir o cálculo se qualquer valor for negativo, não apenas quando todos forem.

Espero ter ajudado, abraço!