preciso de um código usando for e .split que peça um input de 10 números separados por vírgulas, e o depois disso faça uma soma dos 10, mas eu realmente não faço ideia de por onde começar
num = input("Digite uma lista de números separados por vírgulas")
lista_numeros = num.split(",") ##isso serviria para identificar o "separador" das informações, que seria a vírgula nesse caso
soma = 0
for num in lista_numeros:
soma+= int(num)
print("a soma é:" , soma)
Desculpe ser chato, mas a resposta, por incrível que pareça, é bem óbvia: comece abrindo o editor/IDE/seja lá qual programa o curso te indicou pra usar. Depois tente fazer cada trecho do que é pedido, passo a passo.
Se te passaram o exercício, é porque em algum momento te ensinaram como fazer as coisas que são pedidas.
Não mostraram como pedir entradas do usuário? Em Python, geralmente usa-se input
, não ensinaram a usar?
Não te ensinaram a usar split
? A transformar uma string em número? A usar um for
?
A resposta já deram aí em cima (fazer o que, o ideal é que vc pelo menos tentasse, pois é só assim que aprende). Mas como já deram a resposta, vou aproveitar pra dizer que não precisa de tantas variáveis intermediárias. Por exemplo, se vc só quer somar os números, mas não precisa guardá-los para uso posterior, pode fazer assim:
soma = 0
for i in input('digite 10 números separados por vírgulas').split(','):
soma += int(i)
print(f'Soma={soma}')
Mas o exercício pede que sejam 10 números, então entendi que na verdade precisamos validar. Sei que muitos exercícios não costumam exigir validação de dados, mas se o usuário pode digitar qualquer coisa, o mínimo que vc deveria fazer é validar pra ver se está tudo certo. Afinal, se for digitado 1,2,3,4,5,6,7,8,9,abcxyz
, não são 10 números e entendo que nesse caso deveria dar erro, ou mostrar uma mensagem dizendo que os dados não estão da forma que o programa espera. Algo assim:
dados = input('digite 10 números separados por vírgulas').split(',')
if len(dados) != 10: # se não tem 10 elementos, nem prossegue
print('erro: vc deve digitar 10 números separados por vírgula')
else: # converte tudo para número
numeros = []
for i in dados:
try:
numeros.append(int(i))
except ValueError:
# se não digitar um número, int() dá erro e cai aqui
print(f'um dos elementos não é um número: {i}')
break
else: # se todos forem números, não executa o break, então cai aqui
soma = 0
for i in numeros:
soma += i
print(f'Soma={soma}')
Se bem que dá para ser mais sucinto, pois já existe a função sum
que serve justamente para somar valores de uma lista (ou qualquer outro objeto iterável). E também podemos usar list comprehension para gerar a lista de números (e aí podemos validar se tem 10 elementos):
try:
# a linha abaixo lê os dados, faz o split e converte tudo para número
numeros = [ int(i) for i in input('digite 10 números separados por vírgulas').split(',') ]
if len(numeros) != 10:
print('erro: vc deve digitar 10 números separados por vírgula')
else:
# se só quer imprimir a soma, não precisa de variável
print(f'Soma={sum(numeros)}')
except ValueError:
# se não digitar um número, int() dá erro e cai aqui
print('erro: um dos valores digitados não é um número')
Mas se não precisa validar nada (ou seja, assume-se que sempre serão digitados somente números separados por vírgulas), pode simplesmente fazer:
soma = sum(map(int, input('digite 10 números separados por vírgulas').split(',')))
print(f"Soma={soma}")
Ou ainda:
print(f"Soma={sum(map(int, input('digite 10 números separados por vírgulas').split(',')))}")
numeros = input("Digite 10 números separados por vírgula: ")
numeros_lista = numeros.split(",")
soma = 0
for numero in numeros_lista:
soma += int(numero)
print("A soma dos números é:", soma)
Assim?