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

Conversor de lista

Boa tarde, estou tentando fazer uma lista que tenha entradas de usuario, porém essa lista ela vem com o formato string, eu consigo formatar cada index utilizando o código:

idades = [input("primeiro jogador"),input("segundo jogador"),20,16,18]

idades[0] = int(idades[0])

E o meu indice 0 vira um numero inteiro. Porém eu gostaria de fazer um For para que ele atualizasse o formate de todos os itens da minha lista, tentei fazer alguns testes e não consegui, o código que tentei foi:

idades = [input("primeiro jogador"),input("segundo jogador"),20,16,18]

idades[0] = int(idades[0])

def conversor(n):
  idades[n] = int(idade[n])

for idades[n] in idades:
  conversor(n)
1 resposta
solução!

Olá Eduardo, tudo bem ? Espero que sim.

Muito legal sua solução, com apenas duas modificações ela vai ter o funcionamento que você precisa.

O primeiro é utilizar no for as funções len para ter o tamanho da lista que vai iterar e o range para acessar os números dos índices da lista.

for n in range(len(idades)):

A segunda modificação é na função conversor, nela, além do n, precisamos receber a nossa lista idades.

def conversor(n, idades):
  idades[n] = int(idades[n])

O código completo fica assim:

idades = [input("primeiro jogador"),input("segundo jogador"),20,16,18]

print(idades)

def conversor(n, idades):
  idades[n] = int(idades[n])

for n in range(len(idades)):
  conversor(n, idades)

print(idades)

Achei interessante o seu desafio e pensei em uma outra alternativa.

Vou utilizar a função enumerate, ela vai retornar os valores dos índices e também o valor da lista. Com isso podemos, dentro do for, já fazer a conversão das idades, que vão estar na variável idade e salvando na posição correta utilizando a variável indice.

idades = ['5','4',20,16,18]

print(idades)

for indice, idade in enumerate(idades):
  idades[indice] = int(idade)

print(idades)

Espero ter ajudado e qualquer duvida não hesite em perguntar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!