1
resposta

Resolução ultillizando array


array = []

a = int(input('Informe os dias para atividade A :'))
array.append(a)
b = int(input('Informe os dias para atividade B :'))
array.append(b)
c = int(input('Informe os dias para atividade C :'))
array.append(c)

#print (array)

num = 0 
for arra in array:
    #print(arra)
    if arra < 0:
        print(f'Erro os dias não podem ser nagátivos {num}->[{arra}] = negativo')
        break
    num += 1
1 resposta

Olá, Cauan. Como vai?

Parabéns pela iniciativa de utilizar uma estrutura de dados como a lista (chamada de array no seu código) para resolver o problema! Essa é uma excelente forma de tornar o código mais escalável, pois se o projeto tivesse 50 atividades, você não precisaria criar 50 variáveis diferentes.

O uso do laço for para percorrer os elementos e validar se existem valores negativos é uma prática muito comum e eficiente. Gostaria de destacar alguns pontos e oferecer sugestões para deixar seu código ainda mais profissional:

  • Trabalhando com Listas em Python: Em Python, chamamos essa estrutura [] de lista. Embora funcione de forma semelhante a um array de outras linguagens, as listas são muito versáteis.
  • Otimização da Entrada de Dados: Você pode usar o próprio laço para pedir os valores, evitando repetir o comando input várias vezes.
  • Uso da variável num: Você usou a variável num para rastrear o índice da atividade. Uma forma bem "Pythonica" de fazer isso é usando a função enumerate(), que já te entrega o índice e o valor ao mesmo tempo.

Veja como o seu código poderia ficar mais compacto e dinâmico:

atividades = ['A', 'B', 'C']
dias_projeto = []

for atividade in atividades:
    qtd = int(input(f'Informe os dias para atividade {atividade}: '))
    dias_projeto.append(qtd)

for i, dias in enumerate(dias_projeto):
    if dias < 0:
        print(f'Erro: os dias não podem ser negativos. Atividade {atividades[i]} -> [{dias}] = negativo')
        break
else:
    print(f'Tempo total do projeto: {sum(dias_projeto)} dias.')

Dica extra sobre o else no for:
No Python, você pode usar um else logo após o bloco do for. Ele só será executado se o laço terminar sem encontrar o break (ou seja, se todos os números forem positivos). Isso é ótimo para imprimir o resultado final apenas quando os dados estiverem corretos.

Continue explorando essas estruturas, pois elas são fundamentais para manipular grandes volumes de dados de forma inteligente!

Espero que possa ter lhe ajudado!