Voy a dejar 10 nuevos ejercicios python. Esta ves un poco mas complejos que Ejercicios en python (Parte 1)
![]() |
Ejercicios Python |
Como dije en la primera entrada, los ejercicios tienen muchas formas de resolverse. Para los mas experimentados quiza les lleve unas pocas lineas de codigo, para otros que recién empiezan quizá les lleve un poco mas de código.
En la semana dejare las soluciones en una entrada nueva y al final de este post para compararlas con las soluciones de ustedes.
Estaría bueno que puedan comentar en caso de dudas o dejar sus soluciones para compararlas o para ayudar al resto de la comunidad.
Ejercicio 1
La función max() del ejercicio 1 (primera parte) y la función max_de_tres() del ejercicio 2 (primera parte), solo van a funcionar para 2 o 3 números. Supongamos que tenemos mas de 3 números o no sabemos cuantos números son. Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.
Ejercicio 2
Escribir una función mas_larga() que tome una lista de palabras y devuelva la mas larga.
Ejercicio 3
Escribir una función filtrar_palabras() que tome una lista de palabras y un entero n, y devuelva las palabras que tengan mas de n caracteres.
Ejercicio 4
Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.
Ejercicio 5
Construir un pequeño programa que convierta números binarios en enteros.
Ejercicio 6
Escribir un pequeño programa donde:
- Se ingresa el año en curso.
- Se ingresa el nombre y el año de nacimiento de tres personas.
- Se calcula cuántos años cumplirán durante el año en curso.
- Se imprime en pantalla.
Ejercicio 7
Definir una tupla con 10 edades de personas. Imprimir la cantidad de personas con edades superiores a 20.
Puedes variar el ejercicio para que sea el usuario quien ingrese las edades.
Ejercicio 8
Definir una lista con un conjunto de nombres, imprimir la cantidad de comienzan con la letra a.
También se puede hacer elegir al usuario la letra a buscar. (Un poco mas emocionante)
Ejercicio 9
Crear una función contar_vocales(), que reciba una palabra y cuente cuantas letras "a" tiene, cuantas letras "e" tiene y así hasta completar todas las vocales.
Se puede hacer que el usuario sea quien elija la palabra.
Ejercicio 10
Escriba una función es_bisiesto() que determine si un año determinado es un año bisiesto.Un año bisiesto es divisible por 4, pero no por 100. También es divisible por 400
Bueno espero se entretengan un buen rato con estos ejercicios. Si tienen alguna duda estaría bueno que puedan dejar sus comentarios.
Bueno nos vemos en las soluciones...
El primero ejercicio me sirvió muchísimo, ni siquiera sabía que se podían usar listas como argumentos de funciones, yo lo resolví más primitivamente, con un bucle, más o menos así:
ResponderEliminardef maxmin():
r="si"
l=[]
while r:
n=float(input("Numero: "))
op=input("Deseas agregar otro numero: ")
if op=="si":
l.append(n)
pass
elif op=="no":
r=op
l.sort()
for i in l:
print (i)
print ("El mayor es ", l[-1])
break
Me alegro te haya servido. Esta noche miro bien tu código. Saludos y gracias por comentar.
Eliminarhola amiga gracias por los ejercicios sirven mucho para ir familiarizandose con la sintaxis, te quiero preguntar si sabes el equivlente del gotoxy en python ? uso el editor por defecto que trae python pero me gustaria saber el equivalente
EliminarHola cesar, creo que necesitas el modulo curses para hacer lo mismo que el gotoxy, fijate en este enlace haber si es lo que necesitas: http://www.python.org/doc//current/howto/curses.html
EliminarSaludos
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarHola, gracias por publicar la solucion del primer ejercicio soy un novato y no hayaba como hacerlo. Pero analizando tu código logré pulirlo un poco más, revisalo a ver que tal. Lo que hice fue eliminar la variable r y le quite el pass que le habias colocado
ResponderEliminardef maxmin():
L =[]
while True:
n = float(input("Numero: "))
op = raw_input("Deseas agregar otro numero: ")
if op == "si":
L.append(n)
elif op == "no":
L.append(n)
L.sort()
print "El mayor es ",L[-1]
break
maxmin()
compañero, como hago para llenar un vector, pero que sea el usuario quien lo haga, e intentado con ciclos, pero las funciones raw_input, y demás no me funcionan, porque si establezco un vector vacio, no me lo permite, agarezco una respuesta, gracias.
ResponderEliminarHola Camilo, fijate el siguiente codigo, es solo para agregar un elemento, pero tu lo puedes modificar como quieras, espero te sirva, saludos.
Eliminara = []
def llenarVector(vector):
----x = raw_input("Ingrese un dato")
----vector.append(x)
llenarVector(a)
Gracias por tu respuesta amigo. Tengo esta solución:
Eliminarmensaje = "Ingrese el valor: "
n = 5
vector = [
int(raw_input(mensaje))
for i in range(n)
]
print vector
y este para matrices:
Eliminarm = "Ingrese valor: "
def Matriz(x,y,mensaje):
matriz = [[
int(raw_input(mensaje))
for i in range(x)
]for j in range(y)]
return matriz
print Matriz(3, 3, m)
Muy buenas soluciones, muchas gracias!
ResponderEliminarquise decir ejercicios jejeje, las soluciones también están geniales!
EliminarJaja se entendio, gracias por pasarte por el blog. Saludos
EliminarRespecto al ejercicio uno la solución más rápida me parece esta:
ResponderEliminardef max_in_list(lista):
mayor=0
for i in range (len(lista)):
if lista[i]>mayor:
mayor=lista[i]
return mayor
Y si queremos visualizar el resultado en pantalla podemos aplicar una salida semejante a esto:
mi_lista=[1,5,8,9,4,6,8,7,5,8]
print 'El mayor de los numeros de la lista es ',max_in_list(mi_lista)
Espero que os sirva el aporte.
Excelente Sergio, gracias por el aporte y por pasarte por el blog. Saludos
Eliminardef max_in_list(l):
Eliminaraux=None
for i in l:
if aux==None:
aux=i
elif aux<i:
aux=i
return aux
Hola Sergio, veo un problema a tu solución. Como no puedes controlar si el usuario o tu mismo creas realmente un vector de números, tienes que hacer el casting primeramente del valor
Eliminar#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_in_list(milista):
valor_max=0
for i in milista:
if int(i) > valor_max:
valor_max = int(i)
return valor_max
lista1=[1,2,3,4,5,66,77,8,9]
print max_in_list(lista1)
def max_in_list(lista: iter) -> int:
Eliminar# return max(lista) => manera corta
highest = 0
for x in lista:
if x > highest:
highest = x
return highest
lista = ([32, 2, 6, 2465, 23, 62523, 2, 46, 142])
print(f'Mayor num en lista {lista}: {max_in_list(lista)}')
Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.
ResponderEliminarhola tengo este problema que cuando imprimo las mayúsculas me incluye los espacios y no se como solucionarlo ya que es a petición del usuario y no tengo un numero exacto de valores a eliminar
def mayu(cadena):
cont = 0
a=[ ]
a.extend(cadena)
for x in a:
if x == x.upper():
cont+=1
print cont
preg = raw_input('cadena?') #MaMa Me QuIeRe MuChO 'este es el texto
mayu(preg) # me devuelve 12
:((
EliminarHola Brian, fijate en esto:
Eliminardef mayu(cadena):
cont = 0
a=[ ]
a.extend(cadena)
abc = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
for x in a:
if x in abc:
cont+=1
print cont
Saludos
También tenia el mismo problema y una solución alternativa puede ser:
Eliminardef contar_mayus (lista):
contador = 0
for letra in lista:
if letra == letra.upper():
if letra != ' ':
contador += 1
return contador
Tambien podría ser ésta:
Eliminardef buscar_mayus(palabra):
cont = 0
for char in palabra:
if char.isupper():
cont += 1
print("Mayusculas encontradas:",cont)
Aqui otra propuesta :)
Eliminar"""
Escribir un programa que le diga al usuario que ingrese una cadena.
El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.
"""
var = "Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras Mayúsculas tiene."
def cuantas_mayusculas(frase):
set_mayusculas = [chr(letra) for letra in range(65, 91)]
mayusculas = [letra for letra in frase if letra in set_mayusculas]
return len(mayusculas)
print(cuantas_mayusculas(var))
Aquí dejo mi solución .......
Eliminar#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_in_list(cadena):
valor_max=0
for i in range (0,len(cadena)):
caracter = cadena[i]
if caracter.isupper():
valor_max= valor_max + 1
return valor_max
print 'Introduce cadena'
cadena = raw_input()
cadena=str(cadena)
print cadena
print max_in_list(cadena)
Mi solucion fue esta:
Eliminarcadena = input('ingrese una cadena')
#para eliminar los espacios:
cadena = cadena.replace(' ', '')
cont = 0
for i in cadena:
if i == i.upper():
cont += 1
print('cantidad de mayúsculas: ', cont)
Muy buenas, en el ejercicio 7 veo un pequeño problema. Si no me equivoco a las tuplas no se le pueden añadir elementos, por lo tanto si pedimos al usuario que ingrese una edad no podremos incluir esas edades en una tupla vacía, verdad? Yo lo he hecho con una lista y quedaría tal que asi:
ResponderEliminardef edades():
lista = []
contador = 0
for i in range(0,10):
lista.append(int(raw_input("Introduce edad")))
for j in lista:
if j > 20:
contador+=1
print "Hay %d personas en la tupla con más de 20 años" % contador
edades()
Si hay alguna forma de hacerlo con tuplas estaría bien saberlo. Saludos y gran página, enhorabuena.
Hola Kuouz, gracias por visitar el blog. En la primera parte pide una tupla "ya definida". Despues dice que podemos hacerlo interactuando con el usuario (ahí si lo hacemos con una lista ;)
EliminarSaludos
Ok gracias por responder Diego. Así lo entendí al final, pero estuve un buen rato dándole vueltas al asunto porque tampoco tenía muy clara la diferencia entre lista y tupla. He aprendido Python por otros medios y no sé si lo explicaste en algún tutorial, de momento sólo estoy haciendo los ejercicios que planteas.
EliminarSaludos.
Si te fijas arriba a la derecha en el blog. Abajo de Artículos Recientes, hay un tutorial de python que empeze el año pasado. Este año tengo el objetivo de terminarlo (Quizá te sea de ayuda). Pero cualquier duda deja tu comentario que te vamos a ayudar. Saludo grande!!!
EliminarYo lo hice de esta manera, la verdad no sabia que la tupla aceptaba listas y fue probando que me encontre con que "aparentemente si"
Eliminardef edad_superior(t):
c=0
for i in t:
if(i>20):
c+=1
print("La cantidad de personas con edad superior a 20 son : %s"%(c))
t=()
s=[]
for i in range(10):
e=int(input("Ingrese una edad: "))
s.append(e)
t=s
edad_superior(t)
Las Tuplas Son inmutables
ResponderEliminarhola, estoy encantado con tu blog, me esta resultando de gran utilidad, enhorabuena, pero en el ejercicio 10 me ha surgido una duda que no logro solucionar. Si en el input meto como año el numero 12.00000000000000000000000011 me dice que este año es bisiesto, de todas formas se que para este caso no tiene sentido por que al ser un año tiene que ser un numero entero, pero por ejemplo si en un programa quisiermos ver si un numero es multiplo de 4 como podría solucionar este problema?, muchas gracias
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHan desaparecido las soluciones ! :(
ResponderEliminarEn el enlace siguiente te dejo todos los ejercicios con sus soluciones: Ejercicios Python con solución
EliminarGracias jajaja
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarSaludos al ejecutar este codigo binario cambia de valor y no se la razón. Me podrias ayudar con el problema?
ResponderEliminar513
El numero 01011 en decimal es 0
def binToInt(binario):
aux=0
resultado=0
print "%d" % binario #bandera para saber el valor
while binario>0:
resultado = resultado+(binario%10)*2**aux
binario=binario /10
aux = aux +1
return resultado
print " El numero 01011 en decimal es %d" % binToInt(01001)
Enhorabuena por la web.
Lo veo luego y te comento. Saludos
EliminarMuchas gracias, acabo de darme cuenta, el fallo esta en que el número que pasa como argumento comienza por 0 y Python lo toma como si fuese Octal. Un saludo y gracias por la web, muy entretenida.
EliminarExcelente. Gracias por visitarnos. Saludos
Eliminarcomo hago para ingresar un listado y el monto??
ResponderEliminarSe necesitan mas datos para ayudarte. Saludos
EliminarMi solución al ejercicio 9:
ResponderEliminarcadena_ingresada = raw_input("Ingrese una palabra: ")
cadena = cadena_ingresada.lower()
vocales = "aeiou"
lista = []
for i in cadena:
>>>/ for x in vocales:
>>>/>>>/ if i == x:
>>>/>>>/ lista.append(i)
def contar_vocales(l, v):
>>>/ print "Hay %d '%s' en la palabra '%s'" % (l.count(v), v, cadena)
for vocal in vocales:
>>>/ contar_vocales(lista, vocal)
def numeroMayor():
ResponderEliminarnumeros = []
numero = input("Inserte los números a evaluar, al finalizar presione ENTER: ")
while numero != '':
numeros.append(numero)
numero = input("Inserte los números a evaluar, al finalizar presione ENTER: ")
print ("Esta es tu lista: ",numeros)
print ("Los numeros con la función máx son: ", max(numeros))
numeroMayor()
¡Aca esta mi codigo! saludos y gracias por el ejercicio número 1.
no se valia usar la funcion max
Eliminarpara el ejercicio 1 sin tanto rollo,
ResponderEliminar#!/usr/bin/python
#!python
l = [1,2,3,4,5,6,7,8,9,22,10,11,12,13,14,15,16,17,18,19]
def maximun(l):
a = 0
rango = ( len(l) - 1 )
for i in range(rango):
if( l[i] > (l[i+1] and a ) ):
a = l[i]
if( a > l[rango]):
return a
else:
return l[rango]
print maximun(l)
mirá hasta ahora sos el unico que encontré con el que me funcionó la funcion ni la que hizo el diego el creador del blog lo unico que tenes que modificar a tu codigo es sacarle el return rango del final porque lo que hace es tirarte el ultimo del rango (en tu lista 19) no el mayor si le sacas eso te sale (22 que es el mayor en tu lista)
Eliminarperdona me podrias decir los resultados del ejercicio 6 y 8
ResponderEliminaro la solucion xfa
Hola, en el siguiente enlace puedes ver todos los ejercicios:
EliminarEjercicios de Programación Python
acabo de ver el ejercicio 2 resuelto y no se me ocurrió ponerle un len a la variable del for a pesar de haber pasado por ese punto varias veces sin éxito ya que el contenido de la lista era un strigt aunque tras calentarme la cabeza un buen rato obtuve esto:
ResponderEliminarconteo = 0
def cadena(lista):
conteo = len(lista)
for i in lista:
lista_numerica.append(len(lista[conteo-1]))
conteo -= 1
lista_numerica.reverse()
return lista[lista_numerica.index(max(lista_numerica))]
lista_numerica = []
lista = ["iug","yjfroy" ,"jyhcfjhguio" , "hg"]
print(cadena(lista))
Hace tiempo que hice estos ejercicios y hoy te quiero decir que me sirvieron mucho. Muchas gracias
ResponderEliminarHolaa!!! Me alegro mucho!!!
EliminarSaludos, y gracias por visitar el blog
Hola! Necesito ayuda con este ejercicio, no me doy cuenta de como usar 'len' para contar los caracteres
ResponderEliminarRealice una función de nombre contar_palabras_cortas() que reciba como argumento una cadena cualquiera y devuelva la cantidad de palabras presentes en la cadena con longitudes de hasta 5 caracteres.
Me impresiono la facilidad con la que pude escribir el ejemplo 5 a diferencia de otros lenguajes
ResponderEliminar"""
Construir un pequeño programa que convierta números binarios en enteros.
"""
_numero='100010110100011101'
def bin2int(numero):
potencias=[int(base)*2**index for index,base in enumerate(numero[::-1])]
print(potencias)
valor_final=sum(potencias)
return valor_final
print("El numero binario {} es equivalente a {}".format(_numero,bin2int(_numero)))
Gracias por esta pagina! me encantan los ejercicios
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola, necesito saber como hacer un bucle para buscar la letra mayúscula con el código ASCII . Sabéis cómo hacerlo? Lo necesito cuanto antes para poder terminar la actividad correctamente antes de este domingo.
ResponderEliminarHola muy buenas:
ResponderEliminarVamos con el resultado del primer ejercicio.
lista=[5,7,88,9,12,2,5,8,9,7]
def funcion_max(valor):
comprobador=0
for i in lista:
if comprobador<i:
comprobador=i
return comprobador
print(funcion_max(lista))
lista=["RADAR", "MOSQUITO", "CASA"]
ResponderEliminardef mas_larga(valor):
cuentame=1
tamaño=0
lamaslarga=""
for i in lista:
cuentame=len(i)
if cuentame>tamaño:
tamaño=cuentame
lamaslarga=i
return lamaslarga
print(mas_larga(lista))
Mi propuesta para el ejercicio 3. Un saludo.
ResponderEliminardef filtrar_palabras(valor, entero):
comprobador=""
for i in valor:
if len(i)>numero:
print (i)
lista=["CARRILLON", "CASA", "MOSQUITO", "ABEDUL"]
numero=5
filtrar_palabras(lista, numero)
Esta sería una propuesta para el ejercicio número 4, le he añadido un bucle para repetir el ejercicio tantas veces como desee el usuario.
ResponderEliminarrepetidor=0
repe=""
while repetidor==0:
cadena=input("Escoge una cadena y te contaré las mayúsculas --------- > ")
def compruebamayus(valor):
contador=0
for i in cadena:
if i==" ":
continue
elif i==i.upper():
contador=contador+1
return contador
print(compruebamayus(cadena))
repe=input("¿QUIERES REPETIR EL PROGRAMA? --------- > S/N ").upper()
if repe=="N":
repetidor=1
El ejercicio 5 me dio en su día muchisimos dolores de cabeza, muchos... la madre que lo pario xd.
ResponderEliminarMi propuesta es esta:
repetidor=0
while repetidor==0:
intro=int(input("Introduzca un número binario aqui ---------- >"))
def binadec(valor):
valor=str(intro)
inversor=len(valor)
indice=0
sumador=0
for i in valor:
inversor=inversor-1
sumador=sumador+int(valor[inversor])*(2**indice)
indice=indice+1
return sumador
print(binadec(intro))
pregunta=input("Quieres repetir el ejercicio? S/N ------------> ").upper()
if pregunta=="N":
repetidor=1
El ejercicio 6 fué tal que así para mi:
ResponderEliminaryear=2018
fulano=[str(input("Introduce aquí el nombre del primer alumno --------> ")), int(input("Introduce el año de nacimiento del primer alumno --------> "))]
tizano=[str(input("Introduce aquí el nombre del segundo alumno --------> ")), int(input("Introduce el año de nacimiento del segundo alumno --------> "))]
mengano=[str(input("Introduce aquí el nombre del tercer alumno --------> ")), int(input("Introduce el año de nacimiento del tercer alumno --------> "))]
print(fulano[0], "tiene", year-fulano[1], "años.")
print(tizano[0], "tiene", year-tizano[1], "años.")
print(mengano[0], "tiene", year-mengano[1], "años.")
Las tuplas y yo por lo que sea siempre hemos tenido una relación dificil, aun así esta es mi propuesta de código para el ejercicio 7
ResponderEliminarlimites=20
edades=(
int(input("Introduce la primera edad aqui ------> ")),
int(input("Introduce la segunda edad aqui ------> ")),
int(input("Introduce la tercera edad aqui ------> ")),
int(input("Introduce la cuarta edad aqui ------> ")),
int(input("Introduce la quinta edad aqui ------> ")),
int(input("Introduce la sexta edad aqui ------> ")),
int(input("Introduce la septima edad aqui ------> ")),
int(input("Introduce la octava edad aqui ------> ")),
int(input("Introduce la novena edad aqui ------> ")),
int(input("Introduce la décima edad aqui ------> "))
)
cantidad=0
for i in edades:
if i>limites:
cantidad+=1
print(cantidad)
Este es mi ejercicio 8:
ResponderEliminarcontador=0
print("Este programa contará los nombres que empiecen por la letra que tú desees")
nombres=int(input("¿Cuantos nombres vas a introducir? --------> "))
lista=[]
for i in range(0,nombres):
nombre=input("Introduce un nombre aqui -------------> ")
lista.append(nombre)
letra=input("¿Que letra deseas? -------------> ")
for x in lista:
if (x[0])==letra.upper() or (x[0])==letra.lower():
contador+=1
print("De los nombres anteriormente citados", contador, "Comienzan por la letra elegida")
Pues nada, este sería mi ejercicio 9.
ResponderEliminarpalabra=input("Introduce una palabra y te cuento las vocales -------> ")
def contar_vocales(valor):
contador=0
for i in valor:
if i.upper()=="A" or i.upper()=="E" or i.upper()=="I" or i.upper()=="O" or i.upper()=="U":
contador+=1
return contador
print(contar_vocales(palabra))
Y por último, pero no por ello menos importante, mi ejercicio 10:
ResponderEliminarSolo agradecerte el tiempo dedicado a subir estos ejercicios. Un saludo.
ano=1800
compro1=ano%4
compro2=ano%100
compro3=ano%400
def es_bisiesto(valor):
if compro2==0 and compro1==0:
if compro3==0:
return ano, "Es un año bisiesto"
elif compro3!=0 and compro1==0:
return ano, "Es un año bisiesto"
return ano, "No es un año bisiesto"
bisiesto=es_bisiesto(ano)
print(bisiesto)
Ejercicio 1.
ResponderEliminardef max_in_list(x):
--mayor = x[0]
--for i in x:
----if i > mayor:
------mayor = i
--return mayor
vector = [3,1,6,2,-4,9,5]
print(max_in_list(vector))
Ejercicio 2.
def mas_larga(lista):
--mayor = lista[0]
--for i in lista:
----if len(i) > len(mayor):
------mayor = i
--return mayor
all = ["Hola","Foo foo","ID","zen"]
print(mas_larga(all))
Ejercicio 3.
def filtrar_palabras(lista,x):
--res = []
--for i in lista:
----if len(i) > x:
------res.append(i)
--return res
all = ["Hola","Foo foo","ID","zen"]
print(filtrar_palabras(all,6))
Ejercicio 4.
def conjunto_mayus(x,y):
--res = []
--for i in range(x,y):
----res.append(chr(i))
--return res
def contador_mayus(x):
--cont = 0
--for i in x:
----if i in conjunto_mayus(65,91):
------cont += 1
--return cont
print(contador_mayus("EsTO eS uNA pRueBA"))
Ejercicio 5.
def to_binary(x):
--if x > 1:
----to_binary(x // 2)
----print(x % 2,end = '')
--elif x == 1:
----print(x % 2,end = '')
to_binary(4)
Ejercicio 6.
ANYO, name, edad, LIM = 2018, [], [], 3
for i in range(LIM):
--name.append(input()); nac = int(input());
--edad.append(ANYO - nac)
for i in range(LIM):
--print('%s: %d' %(name[i],edad[i]))
Ejercicio 7.
edad, edad_veinte = [], []
for i in range(10):
--edad.append(int(input()))
--if edad[i] > 20:
----edad_veinte.append(edad[i])
print(edad_veinte)
Ejercicio 8.
nombres = ('Kike','Anabel','Mario','Carl', 'Erika','Etto','Abel','Armando','Sara')
def buscar_letra(l):
--auxiliar = []
--for i in range(len(nombres)):
----if nombres[i][0] == l:
------auxiliar.append(nombres[i])
--return auxiliar
print(buscar_letra('A'))
Ejercicio 9.
vocales = ('a','e','i','o','u')
contador = [0, 0, 0, 0, 0]
def contar_vocales(palabra):
--for i in palabra:
----if i in vocales:
------for l in range(len(contador)):
--------if i == vocales[l]:
----------contador[l] += 1
----------break
contar_vocales(input('Palabra: \n'))
for i in range(len(contador)):
--print('%s: %d' %(vocales[i],contador[i]))
Ejercicio 10.
def es_bisiesto(anyo):
--if anyo // 100 % 4 == 0:
----return True
--return False
print(es_bisiesto(int(input('Anyo: '))))
Cual es a solución al ejercicio 2, no consigo resolverlo
ResponderEliminaresta es la solución mas corta que he podido hacer del ejercicio 1:
ResponderEliminardef max_in_list(L):
Lord = sorted(L)
imax = len(Lord)-1
return Lord[imax]
L = [4,1,8,6]
print (max_in_list(L))
Este comentario ha sido eliminado por el autor.
EliminarQuizas es la solución mas corta pero no la más eficiente. El ordenar la lista tiene complejidad nlog(n), en cambio si ignoras este paso y buscas el máximo evaluando cada elemento de la lista logras una complejidad de n.
EliminarSaludos
Hola. Yo reutilicé la función de la parte 1, para hallar el máximo entre dos números:
ResponderEliminardef max_in_list(lista):
mayor = 0
for num in lista:
mayor = maximo(mayor, num)
return mayor
Y esa primera decía así:
def maximo(a,b):
return a if a>b else b
Desarrollar un prototipo de software inteligente sobre La salud, por ejemplo, diagnosticar la enfermedad, conociendo los síntomas en el programa python. Quien me hace el favor de ayudarm con este ejercio
ResponderEliminar"""
ResponderEliminarWeb -> Mi diario Python -> Ejercicio 1 (Parte 2):
Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.
"""
from random import randrange
def max_in_list(lista):
----maximo = 0
----for n in lista:
--------if n > maximo:
------------maximo = n
----return maximo
lis = []
for x in range(10): #Genera lista aleatoria de 10 números.
----lis.append(randrange(1, 100))
print("\nLista Aleatoria Generada: ", lis)
print("\n-----> El Número mayor es: " + str(max_in_list(lis)))
"""
ResponderEliminarWeb -> Mi diario Python -> Ejercicio 3 (Parte 2):
Escribir una función filtrar_palabras() que tome una lista de palabras y un entero n, y devuelva las palabras que tengan mas de n caracteres.
"""
def filtrar_palabras(lista, n):
----lisMayorN = []
----for palabra in lista:
--------if len(palabra) > n:
------------lisMayorN.append(palabra)
----return lisMayorN
texto = '''Como dije en la primera entrada, los ejercicios
tienen muchas formas de resolverse. Para los mas experimentados
quiza les lleve unas pocas lineas de codigo, para otros que
recién empiezan quizá les lleve un poco mas de código.'''
n = 6 #Valor de 'n'.
texto2 = "" #Almacenará solo letras y espacios.
for car in texto:
----if car.isalpha() or car == " " or car =="\n":
--------texto2 += car
lisPalabras = texto2.split() #Lista de palabras.
print("\nPalabras tiene la Lista Original:")
print(lisPalabras)
print("\nLista de Palabras con más de", n, "caracteres:")
print(filtrar_palabras(lisPalabras, n))
"""
ResponderEliminarWeb -> Mi diario Python -> Ejercicio 10 (Parte 2):
Escriba una función es_bisiesto() que determine si un año determinado es un año bisiesto.
Un año bisiesto es divisible por 4, pero no por 100. También es divisible por 400.
"""
def es_bisiesto(anio):
----if anio == 0:
--------anio = 1
----elif anio < 0:
--------anio = abs(anio)
----bisiesto = False
----if anio%400 == 0:
--------bisiesto = True
----elif anio%4 == 0 and anio%100 != 0:
--------bisiesto = True
----else:
--------bisiesto = False
----return bisiesto
sAnio = input("\nQue año quieres comprobar si es bisiestro? Teclea el año: ")
if es_bisiesto(int(sAnio)):
----print("\n----> El año " + sAnio + " es un año Bisiesto.")
else:
----print("\n----> El año " + sAnio + " NO es un año Bisiesto.")
Ejercicio 8:
ResponderEliminardef busqueda():
x=int(input("¿Cuantos nombres vas a ingresar a la lista?: "))
lista=[]
for i in range(x):
nombre=input("Ingresa un nombre para agregar a la lista: ")
lista.append(nombre)
print()
print("Los nombres han sido agregados a la lista exitosamente.")
print()
letra=input("Ingresa una inicial a buscar: ")
contador=0
for n in lista:
if n[0]==letra.lower() or n[0]==letra.upper():
contador+=1
print("En la lista de nombres hay", contador, "que comienzan con la letra", letra)
busqueda()
hola soy nuevo en la programacion
ResponderEliminaresta es mi solucion al primer ejercicio
def maximo(lista):
num1 =0
num2 =0
for i in lista:
num1 = i
if num1 >= num2:
num2 = num1
elif num1 < num2:
num2 = num2
return num2
lis = 4,5,2,8,1
print (maximo(lis))
Ejercicio 3 def filtrarPalabras(Lista, n ):
ResponderEliminarfor word in Lista:
lista_final=[word for word in Lista if len(word) >= n ]
print(lista_final)
lista=["perro","ho","caballo", "cangrejo","pajaro","gallina"]
filtrarPalabras(lista, 8)
mirá maximo modifiqué solo un poco tu código
Eliminardef filtrarPalabras(Lista, n ):
for word in Lista:
lista_final=[word for word in Lista if len(word) > n ] #le saqué el = porque se supone que solo tiene que ser mayor
print(word)
lista=["perro","ho","caballo", "cangrejo","pajaro","gallina"]
n = 7 # cree la variable n porque no sirve si no la creas
filtrarPalabras(lista, n)
la verdad que si funciona pero lo malo de tu código es que te repite la palabra que cumple con el requisito 6 veces #(la cantidad de palabras que tenes en tu lista y no encuentro como cambiar eso
´´´def mayuscula(word):
ResponderEliminarmayus=word.upper()
cont=0
for i in range(len(word)):
if word[i] == mayus[i]:
cont += 1
print('MAYUSCULAS: {}'.format(cont))
def run():
word=str(raw_input('Ingrese una palabra: '))
mayuscula(word)
if __name__ == '__main__':
run()
´´´
```
ResponderEliminardef mayuscula(word):
mayus=word.upper()
cont=0
for i in range(len(word)):
if word[i] == mayus[i]:
cont += 1
print('MAYUSCULAS: {}'.format(cont))
def run():
word=str(raw_input('Ingrese una palabra: '))
mayuscula(word)
if __name__ == '__main__':
run()
```
#Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.
ResponderEliminardef max_in_list(sample):
mayor = sample[0] #se toma un numero como referencia para empezar ,
for i in range (len(sample)):
if sample[i] > mayor:
mayor=sample[i]
print(mayor)
max_in_list([8,2,7,12])