Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Meu resultado aplicando um laço de repetição.

Olá, boa noite, tentei fazer o código de uma maneira diferente, para que o usuário não precise rodar o código novamente caso alguma das variáveis seja negativa. O próprio laço de repetição retrocede o input caso alguma variável seja negativa, e caso não seja ele flui normalmente. O meu ficou assim:

Código feito através do google collab

1 resposta
solução!

Oi Dalton,

Parabéns pela iniciativa de usar um laço para validar as entradas! 👏

Seu código está bem estruturado e cumpre o objetivo de solicitar novamente a entrada em caso de valor inválido.

Uma sugestão para simplificar o código é usar um laço while para cada entrada, em vez de um único laço com condicionais if/elif.

Dessa forma, você evita a manipulação do contador i e torna o código mais legível.

Veja um exemplo:

dias1 = -1
while dias1 < 0:
    dias1 = int(input("Digite a quantidade de dias da atividade A: "))
    if dias1 < 0:
        print("Valor inválido, digite novamente.")

dias2 = -1
while dias2 < 0:
    dias2 = int(input("Digite a quantidade de dias da atividade B: "))
    if dias2 < 0:
        print("Valor inválido, digite novamente.")

dias3 = -1
while dias3 < 0:
    dias3 = int(input("Digite a quantidade de dias da atividade C: "))
    if dias3 < 0:
        print("Valor inválido, digite novamente.")

total = dias1 + dias2 + dias3
print(f'O total de dias de trabalho foi de {total} dias')

Nesse exemplo, cada variável (dias1, dias2, dias3) tem seu próprio laço while, que só termina quando um valor válido (não negativo) é inserido. 🤔

🎓 Para saber mais: Documentação oficial do while em Python

Continue praticando e explorando novas soluções! 💪

📌 Nota: Otimize seus estudos com o guia "Como turbinar seus estudos utilizando o fórum" e insira o código usando a ferramenta do fórum. como inserir bloco de código