Python - Esta lista en Python me arroja un resultado erróneo

 
Vista:
sin imagen de perfil

Esta lista en Python me arroja un resultado erróneo

Publicado por Fer (4 intervenciones) el 16/07/2021 01:06:38
Tengo que sacar la cantidad de nombres ingresados que comienzan con vocal, sin embargo no me resulta.

1
2
3
4
5
6
7
8
9
10
11
#Crear una lista con 6 nombres ingresados por el usuario. Posteriormente determinar:
#Cuántos de esos nombres comienzan con vocal
#Cuantos de esos nombres son de más de 5 caracteres (este resultado debe generarlo una función)
lista=[]
for i in range(6):
    lista.append(input("Ingrese un nombre:"))
for i in lista:
    contador=[0]
    if i[0]== "A,a" or i == "E,e" or i == "I,i" or i == "O,o" or i == "U,u":
        contador+= 1
print("nombres que comienzan con vocal:",i)
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 Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Esta lista en Python me arroja un resultado erróneo

Publicado por Francisco Javier (313 intervenciones) el 16/07/2021 02:02:32
Buenas solo para poner los que entran en vocal convierte todo a minúscula, para poder recorrerlos sin necesidad de poner mayúsculas y minúsculas, luego para contar los caracteres hay que hacerle mediante una función y no viene al cuanto hacer el contador ahí. Si no no entiendes algo me dices y espero que te sirva.
1
2
3
4
5
6
7
8
9
10
11
12
13
lista=[]
for i in range(6):
    lista.append(input("Ingrese un nombre: "))
for i in lista:
  i=i.lower()
  if i[0]== "a" or i[0] == "e" or i[0] == "i" or i[0] == "o" or i[0] == "u":  print('\n',i)
def caracteres(lista):
  contador=0
  for j in lista:
    if len(j)>5:
      contador+=1
  print('\nEn la lista de nombres hay {} nombres con mas de 5 caracteres'.format(str(contador)))
caracteres(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
sin imagen de perfil

Esta lista en Python me arroja un resultado erróneo

Publicado por Fer (4 intervenciones) el 16/07/2021 03:01:31
Amigo aún no me funcionan la cantidad de nombres que comienzan con vocal, no se que estoy haciendo mal :((
1
2
3
4
5
6
7
lista=[]
for i in range(6):
    lista.append(input("Ingrese un nombre:"))
for i in lista:
  i=i.lower()
  if i[0]== "a" or i[0] == "e" or i[0] == "i" or i[0] == "o" or i[0] == "u":  print('\n',i)
  print("Los nombres que comienzan con vocal son:",i)

Muchas gracias por lo demás!!
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

Esta lista en Python me arroja un resultado erróneo

Publicado por tincopasan (1082 intervenciones) el 16/07/2021 03:59:48
es que la comparación la podes resumir a:
1
2
3
4
5
6
7
8
9
10
lista=[]
 
for i in range(6):
 
    lista.append(input("Ingrese un nombre:"))
 
for i in lista:
    i=i.lower()
    if i[0] in 'aeiou':
        print("Los nombres que comienzan con vocal son:",i)
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
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Esta lista en Python me arroja un resultado erróneo

Publicado por Francisco Javier (313 intervenciones) el 16/07/2021 09:10:37
Hola buenas debería de funcionar, has mirado bien las indentaciones?
Bueno un saludo Fer
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

Esta lista en Python me arroja un resultado erróneo

Publicado por tincopasan (1082 intervenciones) el 16/07/2021 03:56:48
para los que les gusta la simpleza de python para comprimir:

1
2
3
4
def contador(l):return len([_ for _ in l if len(_) >6])
lista=[input("Ingrese un nombre: ").lower() for _ in range(6)]
print(f"""\nCantidad de nombres que comienzan con vocal:  { len([x for x in lista if x[0] in 'aeiou'])}\n
Cuantos tienen más de 5 caracteres:  {contador(lista)}""")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Esta lista en Python me arroja un resultado erróneo

Publicado por Francisco Javier (313 intervenciones) el 16/07/2021 09:08:15
Muy buena!!!! Sólo en la línea 1 sería >5, pero no es importante, si te das cuenta pero está genial.!!!!
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