Python - Generar una lista alternando 0 y 1

 
Vista:

Generar una lista alternando 0 y 1

Publicado por Mario (6 intervenciones) el 13/12/2020 12:08:35
hola a todos estoy haciendo un ejercicio de listas que no me da bien y no se el error. Haber si vosotros lo veis.
Feu un programa que creï, ompli i mostri per pantalla una llista amb zeros i uns. Els valors de la llista seran 0 i 1, alternats, començant pel 0. Per exemple, si es demana una llista de longitud de 5, generaria la llista: [0, 1, 0, 1, 0].
1
2
3
4
5
6
7
8
9
10
11
12
13
lista = []
x=int(input("longitud de la llista")
c=0
a=0
b=1
while c<x:
    if x%2!=0:
        lista.append(a)
        c=c+1
    else:
        lista.append(b)
        c=c+1
print(lista[])
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Generar una lista alternando 0 y 1

Publicado por joel (901 intervenciones) el 13/12/2020 13:42:13
Hola Mario, seria algo así:

1
2
3
4
5
6
7
8
9
10
lista = []
x=int(input("longitud de la lista: "))
 
for i in range(x):
    if (i%2==0):
        lista.append(0)
    else:
        lista.append(1)
 
print (lista)

o un poco mas corto utilizando map:
1
2
3
4
5
6
lista = []
x=int(input("longitud de la lista: "))
 
lista=list(map(lambda i: 0 if i%2==0 else 1, range(x)))
 
print (lista)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Generar una lista alternando 0 y 1

Publicado por Mario (6 intervenciones) el 13/12/2020 17:49:20
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Generar una lista alternando 0 y 1

Publicado por tincopasan (1082 intervenciones) el 13/12/2020 17:53:53
joel:
tu código funciona bien, pero hay otra alternativa más usada si es por más corto y rápido:

1
2
3
4
x=int(input("longitud de la lista: "))
lista=[0 if n %2 ==0 else 1 for n in range(x)]
 
print (lista)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Generar una lista alternando 0 y 1

Publicado por joel (901 intervenciones) el 13/12/2020 21:55:27
Cierto!!! mucho mejor @Ticopasan!!!! muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar