Ejercicios en python (Parte 2)
Voy a dejar 10 nuevos ejercicios python. Esta ves un poco mas complejos que Ejercicios en python (Parte 1)
Ejercicios Python |
los anteriores. Si no vieron los primero ejercicios, acá dejo la entrada:
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...
-
-
Me alegro te haya servido. Esta noche miro bien tu código. Saludos y gracias por comentar.
-
hola 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
-
Hola 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
Saludos
-
n=float(input("Numero: "))
no recomiendo usar el metodo float, int o str en el mismo input, porque si el usuario ingresa algo que no sea eso romperá el programa. Es mejor recogerlo como string y después comprobar si puede ser int y actuar en consecuencia
-
-
Este comentario ha sido eliminado por un administrador del blog.
-
Hola, 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
def 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]
breakmaxmin()
-
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.
-
Hola Camilo, fijate el siguiente codigo, es solo para agregar un elemento, pero tu lo puedes modificar como quieras, espero te sirva, saludos.
a = []
def llenarVector(vector):
----x = raw_input("Ingrese un dato")
----vector.append(x)llenarVector(a)
-
Gracias por tu respuesta amigo. Tengo esta solución:
mensaje = "Ingrese el valor: "
n = 5vector = [
int(raw_input(mensaje))
for i in range(n)]
print vector
-
y este para matrices:
m = "Ingrese valor: "
def Matriz(x,y,mensaje):
matriz = [[
int(raw_input(mensaje))
for i in range(x)
]for j in range(y)]
return matrizprint Matriz(3, 3, m)
-
-
Muy buenas soluciones, muchas gracias!
-
quise decir ejercicios jejeje, las soluciones también están geniales!
-
Jaja se entendio, gracias por pasarte por el blog. Saludos
-
-
Respecto al ejercicio uno la solución más rápida me parece esta:
def max_in_list(lista):
mayor=0
for i in range (len(lista)):
if lista[i]>mayor:
mayor=lista[i]
return mayorY 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
-
def max_in_list(l):
aux=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
#! /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_maxlista1=[1,2,3,4,5,66,77,8,9]
print max_in_list(lista1) -
def max_in_list(lista: iter) -> int:
# return max(lista) => manera corta
highest = 0
for x in lista:
if x > highest:
highest = x
return highestlista = ([32, 2, 6, 2465, 23, 62523, 2, 46, 142])
print(f'Mayor num en lista {lista}: {max_in_list(lista)}') -
Yo lo resolví asi
def max_in_list(lista):
max = 0
for n in lista:
if n > max:
max=n
print(n)lista = [1,2,3,4,5,6,7,8,10]
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.
hola 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 contpreg = raw_input('cadena?') #MaMa Me QuIeRe MuChO 'este es el texto
mayu(preg) # me devuelve 12-
:((
-
Hola Brian, fijate en esto:
def mayu(cadena):
cont = 0
a=[ ]
a.extend(cadena)
abc = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
for x in a:
if x in abc:
cont+=1
print contSaludos
-
También tenia el mismo problema y una solución alternativa puede ser:
def contar_mayus (lista):
contador = 0
for letra in lista:
if letra == letra.upper():
if letra != ' ':
contador += 1
return contador -
Tambien podría ser ésta:
def buscar_mayus(palabra):
cont = 0for char in palabra:
if char.isupper():
cont += 1
print("Mayusculas encontradas:",cont) -
Aqui otra propuesta 🙂
"""
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 .......
#! /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_maxprint 'Introduce cadena'
cadena = raw_input()
cadena=str(cadena)
print cadena
print max_in_list(cadena) -
Mi solucion fue esta:
cadena = 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:
def edades():
lista = []
contador = 0for 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" % contadoredades()
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 😉
Saludos -
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.
Saludos. -
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!!!
-
Yo lo hice de esta manera, la verdad no sabia que la tupla aceptaba listas y fue probando que me encontre con que "aparentemente si"
def 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
-
hola, 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
-
Este comentario ha sido eliminado por el autor.
-
Han desaparecido las soluciones ! 🙁
-
En el enlace siguiente te dejo todos los ejercicios con sus soluciones: Ejercicios Python con solución
-
Gracias jajaja
-
-
Este comentario ha sido eliminado por el autor.
-
Saludos al ejecutar este codigo binario cambia de valor y no se la razón. Me podrias ayudar con el problema?
513
El numero 01011 en decimal es 0def 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 resultadoprint " El numero 01011 en decimal es %d" % binToInt(01001)
Enhorabuena por la web.
-
Lo veo luego y te comento. Saludos
-
Muchas 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.
-
Excelente. Gracias por visitarnos. Saludos
-
-
como hago para ingresar un listado y el monto??
-
Se necesitan mas datos para ayudarte. Saludos
-
-
Mi solución al ejercicio 9:
cadena_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():
numeros = []
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
-
-
para el ejercicio 1 sin tanto rollo,
#!/usr/bin/python
#!pythonl = [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)
-
-
perdona me podrias decir los resultados del ejercicio 6 y 8
o la solucion xfa-
Hola, en el siguiente enlace puedes ver todos los ejercicios:
Ejercicios 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:
conteo = 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
-
Holaa!!! Me alegro mucho!!!
Saludos, y gracias por visitar el blog
-
-
Hola! Necesito ayuda con este ejercicio, no me doy cuenta de como usar 'len' para contar los caracteres
Realice 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
"""
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_finalprint("El numero binario {} es equivalente a {}".format(_numero,bin2int(_numero)))
-
Gracias por esta pagina! me encantan los ejercicios
-
Este comentario ha sido eliminado por el autor.
-
Hola, 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.
-
Hola muy buenas:
Vamos 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=ireturn comprobador
print(funcion_max(lista))
-
lista=["RADAR", "MOSQUITO", "CASA"]
def mas_larga(valor):
cuentame=1
tamaño=0
lamaslarga=""for i in lista:
cuentame=len(i)
if cuentame>tamaño:
tamaño=cuentame
lamaslarga=ireturn lamaslarga
print(mas_larga(lista))
-
Mi propuesta para el ejercicio 3. Un saludo.
def 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.
repetidor=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+1return 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.
Mi 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=0for i in valor:
inversor=inversor-1
sumador=sumador+int(valor[inversor])*(2**indice)
indice=indice+1return 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:
year=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
limites=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+=1print(cantidad)
-
Este es mi ejercicio 8:
contador=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+=1print("De los nombres anteriormente citados", contador, "Comienzan por la letra elegida")
-
Pues nada, este sería mi ejercicio 9.
palabra=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+=1return contador
print(contar_vocales(palabra))
-
Y por último, pero no por ello menos importante, mi ejercicio 10:
Solo agradecerte el tiempo dedicado a subir estos ejercicios. Un saludo.
ano=1800
compro1=ano%4
compro2=ano%100
compro3=ano%400def 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.
def max_in_list(x):
--mayor = x[0]
--for i in x:
----if i > mayor:
------mayor = i
--return mayorvector = [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 mayorall = ["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 resall = ["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 resdef contador_mayus(x):
--cont = 0
--for i in x:
----if i in conjunto_mayus(65,91):
------cont += 1
--return contprint(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 auxiliarprint(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
----------breakcontar_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 Falseprint(es_bisiesto(int(input('Anyo: '))))
-
Cual es a solución al ejercicio 2, no consigo resolverlo
-
esta es la solución mas corta que he podido hacer del ejercicio 1:
def 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.
-
Quizas 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.
Saludos
-
-
Hola. Yo reutilicé la función de la parte 1, para hallar el máximo entre dos números:
def 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
-
"""
Web -> 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 maximolis = []
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))) -
"""
Web -> 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 lisMayorNtexto = '''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)) -
"""
Web -> 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 bisiestosAnio = 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:
def 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
esta 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 num2lis = 4,5,2,8,1
print (maximo(lis)) -
Ejercicio 3 def filtrarPalabras(Lista, n ):
for 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
def 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):
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()
´´´ -
```
def 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.
def 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])
-
Asi es como resolvi el 2do ejercicio, me pareció super interesante
def masLarga(laLista):
longest = laLista[0]
for x in laLista:
if len(x) > len(longest):
longest = x
else:
longest=longest
print(longest) -
Solo quería agradecer el esfuerzo invertido. Gracias
-
necisto hacer un prp¿ograma que ingrese un texto , al final debera imprimir cuantas tiene el texto en total, y cuantas individuales, es decias (cuantas A,E y asi) me ayudan:')
-
x = "poTasio"
for i in x:
number = 0
y = (i[number])
if y != y.lower():
print(f"{y}, es mayuscula")
elif y != y.upper():
print(y) -
def max_in_list(lista):
for i in range(len(lista)-1):
if lista[i]>lista[i+1]:
a=lista[i]
lista[i]=lista[i+1]
lista[i+1]=a
return lista[len(lista)-1]Asi lo resolví y funciona bastante bien, puede haber formas mas ligeras pero esa se entiende bastante bien.
-
Aquí va mi código del ejercicio 2
lista = []
palabra = ' '
decide = 'c'while decide == 'c':
palabra= input('Ingrese una palabra cualquiera: ')
lista.append(palabra)
decide = input('"c" para continuar, "s" para salir: ')def mas_larga(lista):
longi=0
for i in lista:
if len(i)>longi:
longi = len(i)
return iprint('Su lista es: ', lista)
print('La palabra más larga de su lista es: ',maslarga(lista)) -
ejercicio 9:
def vocal():
print(palabra.count('a'))
print (palabra.count('e'))
palabra = input()
vocal() -
def mas_larga(lista):
agregar = int(input("Cuantas String vas agregar en la lista? "))
for i in range(agregar):
elementos = input("Indice" +str(i)+ ": ")
lista.insert(i,elementos)
print(lista)
palabra=""
for i in lista:
if len(i) > len(palabra):
palabra = i
print("La palabra con mayor longitud es:", palabra) -
Esto estaria bien?
def max_in_list(*nums_list):
result = [*nums_list]
result.sort()
return result[-1]print(max_in_list(1,2,3, 534,4,5,6,7))
-
mi aporte al primer ejercicio
def max_in_list():
continuar = Truelista = []
while continuar:
numero = input("Ingrese un numero: ")lista.append(numero)
continuar = input("desea ingrresar otro numero: ").lower() == "si"
print(max(lista))max_in_list()
Deja una respuesta
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í:
def 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