En esta entrada dejare mis soluciones a la primera parte de los ejercicios en
python, si no viste los ejercicios y quieres hacerlos antes de ver las soluciones acá dejo la entrada: Ejercicios en python (Parte 1) .Ejercicios Resueltos
Es importante decir que no existe una sola manera de resolver los ejercicios, cada persona se las ingenia con sus métodos o lógica. Es importante aclarar este punto porque puede ser que sus ejercicios estén distintos a los mios pero los resultados sean los mismos.
También puedes ver todos los ejercicios del blog en esta entrada: Ejercicios de programación python
Cualquier duda con los resultados dejar comentarios para poder aclararlas.
Nuevo: No te pierdas el vídeo con la solución a los ejercicios al final de la entrada.
Ejercicio 1
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max (n1, n2):
if n1 < n2:
print n2
elif n2 < n1:
print n1
else:
print "Son iguales"
Aclaro que uso el print para llamar a la función de la manera max(8, 5).
También se puede usar return.
Ejercicio 2
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def max_de_tres (n1, n2, n3):
if n1 > n2 and n1 > n3:
print n1
elif n2 > n1 and n2 > n3:
print n2
elif n3 > n1 and n3 > n2:
print n3
else:
print "Son iguales"
Otra vez uso el print en ves del return. Dependiendo para que lo necesitemos se usa uno u el otro. En este caso solo quiero mostrar por pantalla cual es el mayor de los 3 números.
Ejercicio 3
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def largo_cadena (lista):
cont = 0
for i in lista:
cont += 1
return cont
En este ejercicio utilizo return en ves de print. Para ver el resultado tendríamos que llamar la función de la manera: print largo_cadena ([1,2,3,4]) o
print largo_cadena ("hola")
Ejercicio 4
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def es_vocal (x):
if x == "a" or x == "e" or x == "i" or x == "o" or x == "u":
return True
elif x == "A" or x == "E" or x == "I" or x == "O" or x == "U":
return True
else:
return False
Ejercicio 5
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def sum (lista):
suma = 0
for i in lista:
suma += i
return suma
def multip (lista):
multiplicacion = 1
for i in lista:
multiplicacion *= i
return multiplicacion
Ejercicio 6
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def inversa (cadena):
invertida = ""
cont = len(cadena)
indice = -1
while cont >= 1:
invertida += cadena[indice]
indice = indice + (-1)
cont -= 1
return invertida
Bueno reconozco que di muchas vueltas para resolver la palabra invertida. Quizá ustedes tengan una solución mas simple para los que recién se están iniciando. Cualquier cosa dejan un comentario y explico como funciona.
Ejercicio 7
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def inversa (cadena):
invertida = ""
cont = len(cadena)
indice = -1
while cont >= 1:
invertida += cadena[indice]
indice = indice + (-1)
cont -= 1
return invertida
def es_palindromo (cadena):
palabra_invertida = inversa (cadena)
indice = 0
cont = 0
for i in range (len(cadena)):
if palabra_invertida[indice] == cadena[indice]:
indice += 1
cont += 1
else:
print "No es palindromo"
break
if cont == len(cadena): #Si el contador = a la cantidad de letras de la cadena
print "Es palindromo" # es porque recorrió todo el ciclo for y todas las
# letras son iguales
Como dije en el ejercicio anterior yo lo pensé así, pero deben haber formas mas fáciles de resolverlo.Yo utilizo los conocimientos que hasta la fecha tengo sobre python.
Lo que hago en este ejercicio es utilizar la función del ejercicio anterior (palabra invertida) para poder compararla con la cadena que nosotros deseemos.
Ejercicio 8
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def superposicion (lista1, lista2):
for i in lista1:
for x in lista2:
if i == x:
return True
return False
En esta función lo que hacemos es comparar dos listas.
Ejercicio 9
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def generar_n_caracteres (n, caracter):
print n * caracter
Ejercicio 10
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def procedimiento (lista):
for i in lista:
print i * "x"
Estaría bueno que dejen sus soluciones para comparar acá, o en la entrada donde están propuestos los ejercicios.
Edito, nueva sección de vídeos en YouTube, puedes seguirnos y enterarte de nuestras actualizaciones.
Buen post..
ResponderEliminarGracias, espero te sirva... Saludos
Eliminardef inversa2(x):
Eliminarcont=""
for i in x:
cont=i+cont
print cont
para la cuestion #6 >>
Eliminardef fraseReves ():
entrada = (str(input("Dame la frase: ")))
lista = []
for n in entrada:
lista += [n]
lista.reverse()
for f in lista:
print(f,end="")
return()
fraseReves()
se que no es lo mas optimo y que se enrevesan comunicacion con procesamiento pero es muy sencilla de entender
def inversa(cadena3):
Eliminarcadena3=list (cadena3)
cadena3.reverse()
cadena3=''.join(cadena3)
print (cadena3)
¡Hola otra vez!
ResponderEliminarAsí me quedaron algunas funciones:
#Punto1: Algo mas corta :)
def maximo(x,y):
return x if x > y else y
#Punto2: Llamando a la funcion anterior
def max_de_tres_1(x,y,z):
m = maximo(x,y)
return maximo(m,z)
# Y sin llamar a la funcion del punto1
def max_de_tres_2(x,y,z):
if x > y and x > z:
return x
elif y > x and y > z:
return y
return z
#Punto 3: Identico al que tienes :)
#Punto4: Usando una lista para evitar los ifs (es una suerte de switch)
def esVocal(caracter):
vocales = ['a', 'e','i','o','u','A', 'E', 'I', 'O', 'U']
return caracter in vocales
#Punto5: Identicos a los que tienes :D
#Punto6: No pense en el tamaño...
def inversa(secuencia):
return secuencia[::-1]
#Punto7:LLame a la funcion inversa
def es_palindromo(cadena): # Solo para palabras
return cadena == inversa(cadena)
def es_frase_palindromo(frase): #Mas general, sirve para frases
frase = frase.lower()
frase = frase.replace(' ','')
return es_palindromo(frase)
# Punto8 y Punto9: Son iguales a los tuyos :D
#Punto10: Llamo a la funcion del punto9
def procedimiento(lista):
for numero in lista:
print generar_n_caracteres(numero,'*')
Como te comentaba, son muy buenos puntos para quienes estamos comenzando en Python. ¡Gracias!
ayuda como puedo resolver este problema.
EliminarEs leer un archivo la cual contara todo las palabras y si la palabra esta repetida contar cuantas veces se repite y ponerlo en un diccionario, para ya después en listar en un archivo nuevo. con la palabra y el numero de repitiente
Gracias a ti por el comentario. Ahora estoy en el trabajo, pero cuando llegue a casa me pongo a ver tus códigos que al parecer están muy buenos. Saludos
ResponderEliminarHola, por favor, podrías ayudarme a realizar un programa que no logro concretar? gracias
EliminarRealice una funcion de nombre contar_palabras_contar () que reciba como argumento una palabra cualquiera y devuelva la cantidad de palabras presentes en la cadena con longitud de hasta 5 caracteres.
7_
ResponderEliminardef es_palindromo(palabra):
y=0
x=-1
for i in range(len(palabra)/2):
if palabra[y]==palabra[x]:
y=y+1
x=x-1
return True
else:
return False
Muy bueno, voy a ver si lo analizo para encontrarle la lógica.
EliminarGracias por comentar...
def es_palindromo(word):
Eliminarreturn str(word) == str(word)[::-1]
Esta muy bueno. Una forma bien sencilla de resolver la función es_palindromo().
EliminarHola , me podrian ayudar , tengo que crear una lista de 10 campos con números aleatorios el rango es de (1-25), en la lista no se deben repetir los números, por último debe imprimir la lista. Que debo hacer para que no se repitan los numeros?
ResponderEliminarHola María, se me ocurre esto para tu consulta. Saludos
Eliminar#! /usr/bin/env python
# -*- coding: utf-8 -*
import random
lista = []
cant = 0
while cant <= 10:
x = random.randrange(1, 26)
if x not in lista:
lista.append(x)
cant += 1
print lista
ayuda como puedo resolver este problema porfavor.
EliminarEs leer un archivo la cual contara todo las palabras y si la palabra esta repetida contar cuantas veces se repite y ponerlo en un diccionario, para ya después en listar en un archivo nuevo. con la palabra y el numero de repitiente
Hola
ResponderEliminarDisculpa podrias ayudarme con este problema
Los números de empleados en una empresa están codificados de 100 a 199. Asuma que en un vector se ha almacenado los salarios/hora y en otro vector las horas trabajadas de los empleados de dicha empresa. Elabore un programa que lea n números de empleados y que calcule el salario bruto de cada empleado leído.
es urgente
GRACIAS!!!!!
El 7 de otra manera, igual menos elegante.
ResponderEliminardef palindromos (x):
longitud=len(x)
rango=range(longitud)
c=0
for z in rango:
a=rango[z]
b=(longitud-1)-a
if str(x[a]) == str(x[b]):
c=c+1 # Si la comparacion es correcta la anadimos al contador
else:
break
#print "No palindromo"
if c == longitud: # Todas las comparaciones son OK? han de ser como la longitud
return "Si es Palindromo"
else:
return "No es Palindromo"
Hola!
ResponderEliminarCreo que la solución al ejercicio 2 no es del todo correcta, con esa implementación al hacer la siguiente llamada:
max_de_tres(3,3,1)
La salida sería "Son iguales", en lugar de "3", que creo que es lo más correcto.
Yo había pensado en algo como:
def max_de_tres (num1, num2, num3):
ret =num3
if num1 >= num2 and num1>=num3:
ret = num1
elif num2>=num1 and num2>=num3:
ret = num2
return ret
Buen aporte, no me había dado cuenta. Gracias por ayudar.
EliminarSaludos
Hola, encontré una solución más sencilla al ejercicio 6, el de invertir un texto y sin usar [::-1].
ResponderEliminardef inversa(texto):
---- invertida = ""
---- for letra in texto:
-------- invertida = letra + invertida
---- return invertida
Saludos!
Muy buena... jajja
Eliminardef inversa(texto):
invertida = ""
for letra in texto:
invertida = letra + invertida
print invertida
inversa("texto")
def inve(lista):
Eliminarlista2=[]
for e in lista:
lista2.insert(0,e)
return lista2
inve(["hola","como","estas"])
# -*- coding: utf-8 -*-
ResponderEliminardef histograma(num1, num2, num3):
h = '*'
a = h * num1
b = h * num2
c = h * num3
print a
print b
print c
histograma(3,3,1)
por que hacen preguntas tan tontas, python es muy facil, los que no saben hagan un curso y no nos hagan perder tiempo
ResponderEliminarsi te molesta tanto no entres a estos foros, nadie nesecita personas como tu
Eliminarhay diferentes formas de resolver los problemas no necesariamente como los ejercicos que estan aki cualkier problema me mandan un imbox :) saludos desde la universidad de bruselas - Belgica
ResponderEliminarHola muy buen post, estoy empezando con python y verdad que es bonito este lenguaje.
ResponderEliminarmis soluciones solo difieren en la 4, 6 y 7
quedando asi:
ejercicio 4:
def vocal(dato):
vocals = 'aeiouAEIUO'
if vocals.find(dato)==-1:
print('no es vocal')
else:
print('SI es vocal')
ejercicio 6:
def inversa(cr):
cr = list(cr)
ncr = []
c = len(cr) - 1
for x in range(c, -1, -1):
ncr.append(cr[x])
return ''.join(ncr)
ejercicio 7:
def palindromo(p):
p = list(p) #copia de la palabra, que sera recorrida inversamente
o = p #cadena original
t = len(p) - 1 #tamaño de cadena
c = -1 #contador
for x in range(t, -1, -1):
if p[x] == o[t-x]:
c += 1
if c == t:
return 'es palindromo'
else:
return 'NO es palindromo'
Saludos y buen post, ojala puedas poner mas ejercicios interesante, que vayan subiendo de complejidad.
Que tal, el ejercico 4 vi una manera de hacerlo diferente
ResponderEliminardef devuelve(letras,string):
count = 0
for i in range(len(letras)):
if string[0] == letras[i]:
return True
for x in range(len(letras)):
if string[0] != letras[i]:
return False
letras =['a','e','i','o','u']
a = raw_input("Ingresa una variable \n").lower()
contador = 0
for i in a:
contador += 1
if contador == 1:
print devuelve(letras, a)
else:
print "Debes Ingresar un solo caracter \n"
El ejercicio 4.
ResponderEliminardef sum (lista):
suma = 0
for i in lista:
suma += i
return suma
def multip (lista):
multiplicacion = 1
for i in lista:
multiplicacion *= i
return multiplicacion
ninguno de los dos me corre, ayudenme tengo python 3.4
Los ejercicios están realizados en python 2.7.
EliminarSaludos
Algo has hecho mal, uso python 3.4 y funcionan los dos, revisa que los hayas hecho bien.
EliminarBuenas, me parece que el error podría estar en la indentación. Aunque parezca tonto a algunos genios quienes criticarán, pero es un error común.
EliminarComo tu dices; pude ser que el error esté en la indentación. Blogger no me acepta los espacios (aveces el espacio de un tabulador los hago con cuatro guiones ----. Saludos y gracias por visitar el blog
Eliminarhola como stas Diego, stoy studiando este programa que es fabuloso, pero he quedado atascado en un simple problema... visualizo la solucion pero me es esquiva...
ResponderEliminarEscribir un programa para ser usado por el concejo de estudiantse en las proximas elecciones. El programa listara, y enumerara tres candidatos para presidente, entoncs deja entrar los votos hasta que al ingresar cero el programa dara como resultado qien gano, que porcentaje gano cada candidato...
1. Diego Caraballo
2. Sandro Cruz
3. Luis Perez
son los candidatos... lo que no puedo es obteer el numero de votantes mediante el conteo de cada voto, puesto que cada voto representa un votante...
gracias de antemano
Hola S.M.C, no has probado hacerlo usando contadores? Después haces los promedios para calcular el porcentaje...
ResponderEliminarDespués lo hago y te cuento, gracias por escribir...
buenos dias tengo esta consulta sera que me pueden ayudar conn esto
ResponderEliminarmultiplique dos numeros usando cadenas.....
por favor le agradezco al que me colabore rapido con esto
EliminarBuenas, necesita convertir las cadenas a números y hacer la operación. Nuevamente espero que el administrador del Blog elimine todas las consultas para hacer trabajos. Traten de hacerlos por su cuenta porque no aportan algo de valor al Blog.
EliminarTu ya respondiste su inconveniente. Yo creo que la pregunta que hizo Andres es de mucha flojera como para contestarla. Saludos y gracias por ayudar...
EliminarBuen post, te felicito hermano.
ResponderEliminarHola buenas,
ResponderEliminarprimero decir que me ha gustado tu post, soy nuevo en python y para practicar me ha venido muy bien jaja.
He modificado el apartado 10 (el del histograma) para que las estrellitas (*) salgan en vertical en vez de en horizontal. Dejo aquí el código por si alguien le quiere echar un vistazo:
#restar uno a cada elemento de la lista que sea igual al maximo
def resta_uno_lista(lista,maximo):
for i in range(0,len(lista)):
if(lista[i]==maximo):
lista[i]-=1
return lista
#genera un histograma con * apartir de una lista de numeros
def histograma(valores):
maximo = max(valores)
maximoIndice = max(valores)
for j in range(0,maximoIndice):
for i in valores:
if (maximo == i):
print('*'),
else:
print(' '),
print('')
#restar uno a cada elemento de la lista que sea igual al maximo
valores=resta_uno_lista(valores,maximo)
maximo-=1
Excelente, a veces por falta de tiempo no puedo revisar los ejercicios. Saludos y gracias por visitar el blog
EliminarHola, podrías ayudarme a realizar un programa que no logro concretar? gracias
EliminarRealice una funcion de nombre contar_palabras_contar () que reciba como argumento una palabra cualquiera y devuelva la cantidad de palabras presentes en la cadena con longitud de hasta 5 caracteres.
yo lo hice asi
ResponderEliminardef is_palindrome(num):
n = str(num)
x = n[::-1]
if n == x:
print ('True')
else:
print ('False')
Hola Henry, a veces por falta de tiempo no puedo verificar las formas de resolver los ejercicios que ustedes tienen, pero si el resultado es el esperado "Felicidades", gracias por visitar el blog!!!
Eliminar7.Es la forma mas facil de hacerlo
ResponderEliminardef es_palindromo(palabra):
x=palabra
y=inversa(palabra)
if x==y:
return True
else:
return False
Hola, ese codigo va imprimiendo letra por letra, osea asi:
ResponderEliminare
se
tse
...
y se necesita que se imprima la cadena completa a la primera, por eso yo hice este codigo, miralo a ver
palabras = raw_input('Escribe una o varias palabras: ')
def inversa(texto):
lista = list(texto) #converti la cadena en lista
lista.reverse() #inverti el orden de la lista
cadenaInversa = "".join(lista) #concatene la lista invertida
print 'Esto es lo que dice al reves: ',cadenaInversa #imprimi la cadena resultante de la concatenacion
inversa(palabras)
Hola, en el ejercicio 6 usé esto, lo veo un poco más legible.
ResponderEliminardef inver(a):
i = ''
b = len(a) - 1 #porque con el len se pasa
while b >= 0:
i += str(a[b]) #lo llevo a string para que no haya problema de concatenación
b -= 1
return i
No me da el tiempo para revisar todos los códigos, pero si funciona; felicitaciones!!!
EliminarYo hice algo parecido pero con alguna variación
Eliminardef inversa (cadena):
inversa = ''
x = 1
while x <= len(cadena):
cont = len(cadena) - x
inversa = inversa + cadena [cont]
x = x + 1
return inversa
Holaa me podrian ayudar es urgentee necesito esto pa mañana a primera hora
ResponderEliminares hacer unas votaciones dijitar por quien se vota y quien gana son tres candidatos
candidato 1
candidato 2
candidato 3
Ayudaaa!
Para el primer programa hice este código pero no me funciona no sé porque.
ResponderEliminarn1=raw_input()
n2=raw_input()
def max(n1,n2):
if n1 > n2:
print n1
if n1 < n2:
print n2
else:
print "los dos son iguales"
print max
raw_input()
Te conteste abajo. Saludos
EliminarHola, no te funciona porque cuando llamas a la función max no le pasas los dos parametros que necesita cuando la definiste (n1, n2).
ResponderEliminarOtras cosas: en el seguno if tendría que ser (elif). Cuano llamas a la función max, no necesitas porner print, porque en la función ya colocaste los print para devolver en pantalla. Y los raw_input() tendrían que ser input() para que te los tome como un número y no como una cadena. Espero me puedas entender...
Te muestro como quedaría, ejemplo:
# -*- coding: utf-8 -*-
n1= input()
n2= input()
def max(n1,n2):
----if n1 > n2:
--------print n1
----elif n1 < n2:
--------print n2
----else:
--------print "los dos son iguales"
max(n1,n2)
raw_input()
Saludos y Gracias por comentar...
Para el ejercicio 6 este es mas simple
ResponderEliminardef inversa2 (cadena):
invertida = ""
for char in cadena:
invertida = char + invertida
return invertida
Excelente Ferney. Saludos y gracias por visitar el blog ;)
EliminarPara el ejercicio 7 esto seria mas exacto
Eliminardef inversa2 (cadena):
invertida = ""
for char in cadena:
invertida = char + invertida
return invertida
def es_palindromo (cadena):
nor = cadena.replace(" ","").lower()
inv = inversa2(nor)
for i in range (len(inv)):
if nor[i] != inv[i]:
print("No es palindromo")
break
else:
print("Si es palindromo")
Pueden probar con:
Se van sus naves
Anita lava la tina
Añora la Roña
Que tal asi? http://bit.ly/1BruqhO
EliminarAhi va el mio:
Eliminar#encoding:utf-8
#Creamos una funcion para invertir la palabra ingresada
def inversa(texto):
#creamos una variable vacia de caracteres como contenedor
invertida = ""
for letra in texto:
invertida = letra + invertida
print texto, invertida
return invertida
#Creamos una funcion que compare la palabra ingresada con su invertida
def comparacion(texto):
#Aca llamamos dentro de la funcion a la funcion inversa
palabrainvertida = inversa(palabra)
indice=0
for i in texto:
if palabrainvertida[indice]==texto[indice]:
indice +=1
else:
print "Santos palindromes fallidos!!!"
break
if indice== len(texto):
print "Esta palabra es palindrome"
palabra = raw_input ("ingresa una palabra: ")
comparacion(palabra)
por favooooooooooooooooooooooooooooooooooooooooooooooor su ayuda con este prorama....
EliminarDesarrollar un programa que permita el ingreso de datos de n empleados tomando en cuenta las
siguientes consideraciones:
1. Los datos de un empleado deben estar formados por: Nombres, Apellidos, Cedula, Sueldo.
2. El programa deberá indicar el número de empleados a ingresar.
3. Luego, ingresar los datos de cada empleado hasta completar el número indicado.
4. Mostrar un menú con las siguientes opciones:
0. Salir
1. Promedio sueldo
2. Datos del empleado con mayor sueldo
3. Datos del empleado de menor sueldo
4. Buscar Empleado
El programa solo puede terminar cuando se escoja la opción 0
como usar python y descagar en una canaima
ResponderEliminarHola, me gustaria saber como podría sacar el rango de esta expresión a = ['1-1'], se supone que aquí el rango sería 0 y se debería tratar sólo como un único número. Como podría escribir esto en Python?
ResponderEliminarMuchas gracias
me podria dar una mano porque la verdad no lo entiendo...Dise˜na un programa que, dado un car´acter cualquiera, lo identifique como vocal min´uscula, vocal may´uscula, consonante
ResponderEliminarmin´uscula, consonante may´uscula u otro tipo de car´acter.
Hola Jose Luis, gracias por pasarte por el blog. Has pensado alguna solución? Una ayudita: una forma podría ser agregando las consonantes minusculas en una lista, las mayusculas en otra, las vocales minusculas en otra y las mayusculas en otra. Despues podes comprobar si el caracter ingresado esta en alguna lista de las que creamos, y dependiendo de eso dar la respuesta. Saludos
Eliminarhola me puedes ayudar mira me pide k ingrese tres numeros luego indique cual es el mayor, cual es el menor , cual es el que se repite y cuantas veces por favor es que ya intente muchas maneras y no encuentro como hacerlo
ResponderEliminarHola Lisbeth, tienes alguna parte realizada? Estaría bueno que lo publiques por acá así te puedo ayudar (no resuelvo las tareas, pero trato de ayudar). Que parte se te dificulata? Fijate en el Ejercicio 2.
EliminarSaludos
Para resolver el proble 2 hay un problema es que si a la funcion le das estos argumentos max_de_tres(9, 9, 5), devuelve los valores "son iguales" debido a que no cumplen ningun if que recomendarias tu hacer ambos tenemos el mismo codigo de solucion
ResponderEliminardef max_de_tres(a, b, c):
if a > b and a > c:
return a
elif b > a and b > c:
return b
elif c > a and c > b:
return c
else:
return "Son iguales"
#encoding:utf-8
Eliminarvalor1 = int(input("Introduce el primer numero: "))
valor2 = int(raw_input("Introduce el Segundo numero: "))
valor3 = int(raw_input("Introduce el tercer numero: "))
def maxx(n1,n2,n3):
if n1+n2+n3==3*n1:
print " los tres numeros son iguales"
elif n1/n2==1 or n1/n3==1 or n2/n3==1:
print "hay dos numero iguales"
if n1/n2==1 and n1>n3:
print (n1," Y ", n2, " Son iguales y mayores1")
elif n1/n2==1 and n3>n1:
print (n3, " es el mayor")
elif (n1/n3)==1 and n1>n2:
print (n1," Y ", n3, " Son iguales y mayores2")
elif n1/n3==1 and n2>n1:
print (n2, " es el mayor")
elif n2/n3==1 and n2>n1:
print (n2," Y ", n3, " Son iguales y mayores3")
else:
print (n1, " es el mayor")
elif n1>n2 and n1>n3:
print n1
elif n2>n1 and n2>n3:
print n2
else:
print n3
maxx(valor1,valor2,valor3)
hola te hago una consulta.como hago para tomar el numero mas pequeño de una lista
ResponderEliminarEste comentario ha sido eliminado por el autor.
EliminarAlgo rápido que se me ocurre:
Eliminarlista = [2, 4, 1, 5, 0, 3]
x = lista[0] # x vale el primer valor de la lista
for i in lista:
----if i < x:
--------x = i
print x
min(lista)
EliminarImplemente un procedimiento que dado un número n, escriba en pantalla los n primeros cubos,
ResponderEliminarde acuerdo a las siguientes reglas:
a. Sumando el primer impar se obtiene el primer cubo
b. Sumando los dos siguientes impares, se obtiene el segundo cubo
c. Sumando los tres siguientes impares se obtiene el tercer cubo
y así en adelante
hola me ayudarian a ser este ejercicio:
ResponderEliminarSuponga que un tren parte de un lugar A hacia un lugar B, los cuales están distantes S1 Km, con una velocidad constante V1. Pero, al llegar a un punto C, el cual está entre A y B, a una distancia S2 de A, hace una escala de 30 minutos para finalmente partir hacia B con una velocidad diferente V2.
Al partir el tren de A, sale también un auto con una velocidad V, el cual al llegar a C hace una escala de 2 horas para finalmente continuar a B con la misma velocidad. Suponiendo que el auto se mueve en una línea paralela a la del tren.
Elabore un algoritmo que calcule el tiempo que empleará el tren y el auto para trasladarse de A a B.
se los agardeceria
Este comentario ha sido eliminado por el autor.
ResponderEliminarHalle otra forma de realizar el ejercicio 6, para cualquier cadena ingresada, aqui les comparto:
ResponderEliminardef inve(a):
b=''
for i in range(1,len(a)+1):
b=b+a[-i]
print(b)
a=input('Ingrese una cadena a invertir: ')
inve(a)
Hola diego ! como andas, una pregunta que es esta entrada que pones siempre al prisipio de comenzar un ejercicio
ResponderEliminar#! /usr/bin/env python
# -*- coding: utf-8 -*-
de a poco voy agarrandole un poco la mano a python y voy entendiendo un poco mas de este lenguaje. bueno gracias por el espacio y por la pocibilidad de aprender :)
alguien me ayuda:
ResponderEliminar· 69 ¿Hay alguna diferencia entre el programa anterior y este otro cuando los ejecutamos?
segundo grado 3.py segundo grado.py
1 from math import sqrt
2
3 a = float(raw_input(’Valor de a: ’))
4 b = float(raw_input(’Valor de b: ’))
5 c = float(raw_input(’Valor de c: ’))
6
7 if a == 0:
8 if b == 0:
9 if c == 0:
10 print ’La ecuaci´on tiene infinitas soluciones.’
11 else:
12 print ’La ecuaci´on no tiene soluci´on.’
13 else:
14 x = -c / b
15 print ’Soluci´on de la ecuaci´on: x=%4.3f’ % x
16 else:
17 x1 = (-b + sqrt(b**2 - 4*a*c)) / (2 * a)
18 x2 = (-b - sqrt(b**2 - 4*a*c)) / (2 * a)
19 print ’Soluciones de la ecuaci´on: x1=%4.3f y x2=%4.3f’ % (x1, x2)
· 70 ¿Hay alguna diferencia entre el programa anterior y este otro cuando los ejecutamos?
segundo grado 4.py segundo grado.py
1 from math import sqrt
2
3 a = float(raw_input(’Valor de a: ’))
4 b = float(raw_input(’Valor de b: ’))
5 c = float(raw_input(’Valor de c: ’))
6
7 if a == 0 and b == 0 and c == 0:
8 print ’La ecuaci´on tiene infinitas soluciones.’
9 else:
10 if a == 0 and b == 0:
11 print ’La ecuaci´on no tiene soluci´on.’
12 else:
13 if a == 0:
14 x = -c / b
15 print ’Soluci´on de la ecuaci´on: x=%4.3f’ % x
8 Introducci´on a la Programaci´on con Python
c 2003 Andr´es Marzal e Isabel Gracia
16 else:
17 x1 = (-b + sqrt(b**2 - 4*a*c)) / (2 * a)
18 x2 = (-b - sqrt(b**2 - 4*a*c)) / (2 * a)
19 print ’Soluciones de la ecuaci´on: x1=%4.3f y x2=%4.3f’ % (x1, x2)
En el primero falta esta línea: if a == 0 and b == 0:
Eliminarme sale error lo junto la numero 1 y lo k me distes dime
Eliminaresto tambien ayudenme ps
ResponderEliminar· 90 Nuestro aprendiz de programador ha tecleado en su ordenador el ´ultimo programa, pero se ha despistado y ha escrito
esto:
circulo 3.py circulo.py
1 from math import pi
2
3 radio = float(raw_input(’Dame el radio de un c´ırculo: ’))
4
5 print ’Escoge una opci´on: ’
6 print ’a) Calcular el di´ametro.’
7 print ’b) Calcular el per´ımetro.’
8 print ’c) Calcular el ´area.’
9 opcion = raw_input(’Teclea a, b o c y pulsa el retorno de carro: ’)
10
11 if opcion == a:
12 diametro = 2 * radio
13 print ’El di´ametro es’, diametro
14 else:
15 if opcion == b:
16 perimetro = 2 * pi * radio
17 print ’El per´ımetro es’, perimetro
18 else:
19 if opcion == c:
20 area = pi * radio ** 2
21 print ’El ´area es’, area
Las l´ıneas sombreadas son diferentes de sus equivalentes del programa original. ¿Funcionar´a el programa del aprendiz? Si no
es as´ı, ¿por qu´e motivo?.
De estudiar ni hablamos he?? jaja
Eliminarporfavor necesito resolver estos programas pero no los se resolver si alguien me ayuda y me los da resueltos se los voy a agradecer muchisimo porfavor helppp....
ResponderEliminar01-Leer dos números "num1 y num2" y mostrar todos los divisores que tienen en común.
02- Hacer un programa que le pida un número al usuario (usando la función "input") y muestre ese número menos dos, más dos, multiplicado por dos, dividido por dos, dividido por dos de forma entera, y elevado a la potencia de dos. Por ejemplo, para el número 7, debería mostrar:
5
9
14
3
3.5
49
03- Hacer un programa que le pida una cadena al usuario (usando la función "input") y la imprima a pantalla al revés. Por ejemplo, para el texto "Esto es así", debería mostrar:
"ísa se otsE"
04- Pedirle tres números (que pueden ser con decimales) al usuario, base y altura de un rectángulo, y radio de un círculo. Calcular perímetro y área de cada figura
05- Hacer un programa que genere un número entero al azar (módulo random) entre 0 y 1000, y le vaya pidiendo al usuario que ingrese números enteros para adivinarlo. Si el usuario ingresa un número menor que el objetivo, muestra "Es más alto!"; si el usuario ingresa uno mayor, muestra "Es más bajo!"; si el usuario acierta, muestra "Viva Python!", y termina. Si el usuario no acertó en 7 intentos, que muestre "Alpiste perdiste! Booo" y termine.
06- Escribir un algoritmo que imprima el mínimo, el máximo y la media de tres números.
Hola tengo el siguiente ejercicio que necesito resolver.. si pudieran ayudarme por favor:
ResponderEliminarImplementa un programa en python, de tal manera que cuando el usuario ingrese
cualesquiera dos ciudades francesas, el programa devuelva en pantalla los caminos
encontrados mediante los algorímos BPA y BPP, y la distancia de la solución
correspondiente de cada uno. Desarrollan los hijos de una ciudad en orden alfabético.
Esta es la lista de ciudades:
ciudades=['Avignon','Bordeaux','Brest','Caen','Calais','Dijon','Grenoble','Limoges',\
'Lyon','Marsella','Montpellier','Nancy','Nantes','Nice','Paris','Rennes',\
'Strasbourg','Tolouse']
y esta es la matriz de adyacencia, donde por ejemplo la fila 0 se corresponde con el dato de la distancia q hay entre el elemento ciudad[0] y cada una de las demas ciudades correspondiendose la posicion en la columna con la d la lista ciudades.
Por favor necesito ayuda urgente con esto... Si alguien pudiera ayudarme
Yo también lo necesito, porque es para mañana! =(
EliminarBuenas, no hacemos tareas. Si tienen alguna idea de código se puede ayudar, pero no resolvemos tareas. No es de mala onda, pero nosotros también necesitamos hacer las nuestras. Saludos
EliminarYo también lo necesito! =(
ResponderEliminarBuenas, no hacemos tareas. Si tienen alguna idea de código se puede ayudar, pero no resolvemos tareas. No es de mala onda, pero nosotros también necesitamos hacer las nuestras. Saludos
Eliminardef inversa(lista):
ResponderEliminarlista1 = lista[::-1]
return lista1
def es_vocal(x):
ResponderEliminarreturn len(x) == 1 and x in 'aeiouAEIOU'
Así hice yo el ejercicio 7. Espero que sirva y gracias por los ejercicios:
ResponderEliminar'''7 - Definir una función es_palindromo() que reconoce palíndromos (es decir, palabras que tienen el mismo aspecto escritas invertidas), ejemplo: es_palindromo ("radar") tendría que devolver True.'''
def es_palindromo(n):
inversa=n[::-1]
if inversa==n:
return 'Es palindromo'
if inversa!=n:
return 'No es palindromo'
while True:
palabra= raw_input('Introduce palabra deseada: ').upper()
if palabra!='FIN':
print es_palindromo(palabra)
if palabra=='FIN':
print 'Gracias por utilizarme'
exit()
En el último ejercicio he necesitado convertir a i en un numero entero:
ResponderEliminardef procedimiento(lista):
for i in lista:
print int(i) * '*'
Buenas estimado,
ResponderEliminarRealice el ejercicio 4 de esta manera:
def one_char(char):
if char in 'aeiouAEIOU':
return True
else:
return False
realiza la misma funcion que el ejercicio resuelto, ya que si ingresa una cadena de mas de dos caracteres devuelve False independientemente si son vocales nada mas, solo responde True con una vocal de un solo caracter
Antento a cualquier explicacion referente al que hice, y al ejercicio resuelto.
EliminarHola, podrías poner un if al principio que controle que el char ingresado sea de un caracter solo, si esto es verdadero comprueba si el caracter es una vocal, sino muestra un mensaje de error.
EliminarSaludos
hola me podrian ayudar con este ejercicio
ResponderEliminarlea una palabra cualquiera y muestre si la palabra es palindroma o no
Hola, busca en los ejercicios del blog, ya hay una solución para el mismo. Saludos y gracias por visitar el blog...
Eliminarhola tengo una duda como trabaja range() porque au n no me queda claro: debo crear una lista del 0 al 5 pero dentro de ella debe existir los numeros 1,1,2,4,8,16. como se realiza utilizando range??
ResponderEliminarHola, gracias por visitar el blog. Puedes ver esta entrada que la hice ya algún tiempo sobre el módulo Random: Modulo Random con ejemplos
EliminarSaludos!!!
hola si ya lo cheque y gracias por el aporte, pero no es lo que busco. Tengo que utilizar
Eliminarfor x range(?,?,?):#(no se si si utilice 3 argumentos)
print x
>>>1
>>>2
>>>4
>>>8
>>>16
y ese resultado debe darme. Soy nueva en esto y me esta costando trabajo.
En tu caso deberías utilizar un argumento solo (cuantas veces quieres que se repita el for) por ejemplo range(10), esto hace "x" en cada vuelta del for cambie, primero es 0, desupes es 1, y así hasta el 9.
EliminarLuego tendrías que pensar que operación debes efectuar dentro del bucle (por ejemplo una suma con x) para que la salida sea:
>>>1
>>>2
>>>4
etc
Por lo que veo el siguiente resultado es el doble del anterior. Piensalo así...
EliminarEl ejercicio 6.
ResponderEliminarpalabra = raw_input("Ingresa una palabra u oracion: ")
def inv():
volt = list(palabra)
volt.reverse()
e = ""
print e.join(volt)
inv()
Hola! Tengo duda en como realizar un histograma a partir de datos de promedios, medianas y modas
ResponderEliminarEste es mi código para el proble no.6:
ResponderEliminaref inversa(cadena):
n = len(cadena) - 1
inv = ""
for x in range(n + 1):
inv += cadena[n]
n -= 1
print inv
Hola! Necesito introducir dos variables en una oración. Como hago??
ResponderEliminarHola! Necesito introducir dos variables en una oración. Como hago??
ResponderEliminarHola Rosa, espero no sea muy tarde:
Eliminarx = "Python"
y = "Diario"
print "Bienvenida a " + x + " " + y
Hola alguien me puede ayudar con un ejercicio en python?
ResponderEliminarhola, tengo dudas en la 8 , primero que es un for anidado y el segundo es que por que no me sale la funcion o cual es el error:
ResponderEliminardef super(l1,l2):
for x in l1:
for y in l2:
if x==y:
print True
else:
print False
l1=[2,5]
l2=[5,8]
super(l1,l2)
Hola Luigi, un for anidado es un for dentro de otro for. Y seguramente te esté dando error porque no estas utilizando sangrias (identación). Te voy a dejar el ejemplo en este comentario, los "-" son los espacios en blanco que tienes que dejar:
Eliminardef super(l1,l2):
----for x in l1:
--------for y in l2:
-------------if x==y:
-----------------print True
-------------else:
-----------------print False
l1=[2,5]
l2=[5,8]
super(l1,l2)
Una sangria (identación) serían 4 espacios en blanco lo que equivale a un tabulador. Saludos
Eliminarayuden
ResponderEliminarDado un triángulo con vértices (2,2), (5,5) y (8,2), realice un programa que determine si la coordenada real (x,y) ingresada por teclado se encuentra:
adentro del triángulo, imprimiendo "Adentro"
afuera del triángulo, imprimiendo "Afuera",
sobre el borde del triángulo, imprimiendo "Borde"
Lo tendré en cuanta para agregarlo a una lista de ejericios. Saludos
EliminarHola me podrías ayudar a resolver este programita por favor.
ResponderEliminarDesarrolle el siguiente programa para llevar el control de libros en una biblioteca:
MENU DE OPCIONES:
1. Agregar Libros (agrega libros: código, nombre del libro, autor, no de páginas)
2. Buscar Libros (ingresa el código y muestra información del libro)
3. Eliminar Libros (ingresa el código del libro y lo elimina)
4. Listar Libros (muestra la información del libro: código, nombre, autor)
5. Inicializar Librería (borra todos los libros ingresados)
6. Salir (sale del programa)
Alguien me podria ayudar a resolver son 8 ejercicios.
ResponderEliminarDesarrollar una aplicación en Python, en donde a través de menú, se puedan realizar las siguientes actividades.
1. Crear una opción, el cual solicite dos números; el resultado a mostrar deberá ser: suma, resta, producto y división. Recuerde que la división por 0 no existe.
2. Crear una opción, el cual pida un número del 1 al 12 y diga a que nombre del mes corresponde.
3. Crear una opción, que permita a un usuario ingresar 5 números. Los números ingresados deberán ser mostrados de manera ascendente y descendente. Es decir, mostrarlos de menor a mayor y de mayor a menor. No es necesario validar los números repetidos y tampoco es necesario validar si es positivo o negativo.
4. Crear una opción, el cual le solicite a un usuario el sueldo que le corresponde al trabajador y los años de antigüedad que éste tiene en la empresa. La opción debe realizar los cálculos en función de los siguientes criterios:
1. Si lleva más de 10 años en la empresa se le aplica un aumento del 10%.
2. Si lleva menos de 10 años pero más que 5 se le aplica un aumento del 7%.
3. Si lleva menos de 5 años pero más que 3 se le aplica un aumento del 5%.
4. Si lleva menos de 3 años se le aplica un aumento del 3%.
Cuando el cálculo se haya realizado, deberá mostrar en pantalla el sueldo + el aumento.
2
5. Crear una opción que lea un número por teclado. En caso de que ese número sea 0 o menor que 0, se saldrá de la opción imprimiendo un mensaje de error. Si es mayor que 0, se deberá calcular su cuadrado y la raíz cuadrada del mismo, visualizando por pantalla, el número que ha tecleado el usuario y su resultado (“Del número X, su potencia es X y su raíz X”). Sugerencia: utilizar librería math.
6. Crear una opción, en donde se puedan ingresar 10 ventas que un comerciante realiza (ingresar sólo números). Una vez ingresada las ventas, la opción deberá realizar lo siguiente.
1. Mostrar cuantas ventas fueron mayores a $10000.
2. Mostrar cuantas ventas fueron mayores a $5000 y menores o iguales a $10000.
3. Calcular los promedios de cada grupo (puntos a y b), es decir, mostrar promedios mayores a $10000 y entre $5000 a $10000.
4. Mostrar por pantalla lo solicitado en los puntos a, b y c.
7. Crear una opción, en donde usuario debe introducir únicamente el día y el mes de nacimiento. Esta opción deberá mostrar el signo zodiacal de la persona en base a los antecedentes ingresados. Las fechas de cada signo son:
Aries: Del 21 de marzo al 20 de abril
Tauro: Del 21 de abril al 21 de mayo
Géminis: Del 22 de mayo al 21 de junio
Cáncer: Del 22 de junio al 22 de julio
Leo: Del 23 de julio al 23 de agosto
Virgo: Del 24 de agosto al 23 de septiembre
Libra: Del 24 de septiembre al 23 de octubre
Escorpión: Del 24 de octubre al 22 de noviembre
Sagitario: Del 23 de noviembre al 21 de diciembre
Capricornio: Del 22 de diciembre al 20 de enero
Acuario: Del 21 de enero al 18 de febrero
Piscis: Del 19 de febrero al 20 de marzo
8. Crear una opción que permita calcular las siguientes unidades de medida: Metros, Pulgadas, Pies y Yardas.
Cada unidad de medida, será una opción a seleccionar, es decir, si yo selecciono metros, ingreso valor en metros y la opción deberá mostrar el resultado en: Pulgadas, Pies y Yardas.
3
Ejemplo:
Unidades de Medida:
Un metro = 1,09361 yardas, 39,3701 pulgadas, 3,28084 pies.
Una yarda = 0,9144 Metros, 3 pies, 36 pulgadas.
Una pulgada = 0,0254 Metros, 0,0277778 yardas, 0,0833333 pies.
Un pie = 0,3048 Metros, 0,333333 Yardas, 12 pulgadas.
Lo agrego como una entrada. Saludos
Eliminar#ejerxixio7
ResponderEliminardef es_palindromo(p):
f=""
r=-1
for y in p:
f=f+p[r]
r=r-1
if f==p:
return True
else:
return False
r="radar"
tre=es_palindromo(r)
print true
# simple e
hola alguien podría pasarme la salucion de este ejercicio para python gracias!!
ResponderEliminarImplementa un programa que muestre todos los múltiplos de n entre n y m*n, ambos
inclusive, donde n y m son números introducidos por el usuario.
Hola, has pensado en alguna solución? Puedes poner parte del código y te damos una mano. Saludos
EliminarNecesito hacer un programa que me calcule en una lista que el usuario llena hasta que desea, saber el nombre que ingreso mas la edad de la persona si son iguales a otra persona en la edad me puedes ayudar?
ResponderEliminarhola alguien podria ayudarme!! necesito crear funciones alteren una matriz introducida por el usuario, mi problema es q no m salen las funciones o no se llamarlas. estas son funcion que imprima la matriz en el formato en que esten filas una abajo de la otra, otra funcion que tranpone las filas ,otra que imprima por pantalla el promedio de cada una de las columnas de la matriz recibida como argumento y otra funcion que devuelva la matriz resultante de reemplazar las apariciones del argumento nro en la matriz original por un 7.
ResponderEliminarDeterminar la cantidad de personas que cursan primaria, secundaria y nivel superior, asi como el porcentaje que representa cada categoría?
ResponderEliminarN = int(raw_input("Cuantas personas en total hicieron censo?"))
cont =0
while (cont<=N):
print "Deme la cantidad", cont
numero = int(raw_input())
cont+=1
no se como categorizarlos y/o sacar cuantos son de Primaria, etc, ayuda gracias
Hola, los datos los ingresas tu? Saludos
EliminarHola! como puedo imprimir en una lista los nombres que introduzca:
ResponderEliminarN = int(raw_input("¿Cuántos nombres son?"))
cont = 1
while (cont<=N):
print "Deme el nombre",cont
nombre = raw_input()
cont += 1
Hola, te refieres a guardar en una lista?
Eliminarsería algo asi:
lista = []
N = int(raw_input("¿Cuántos nombres son?"))
cont = 1
while (cont<=N):
print "Deme el nombre",cont
nombre = raw_input()
lista.append(nombre)
cont += 1
Saludos y gracias por visitar el blog
Hola, bueno yo resolvi el problema de la palabra invertida de esta forma mas simple. (Aclaro, no se si alguien mas lo hizo igual ya que no me fije en los comentarios)
ResponderEliminarcad = "estoy probando"
def inversa(item):
txt = ""
for i in item:
txt = i + txt
print(txt)
inversa(cad)
Que tal revisando la guia de el creador de python me salio asi la pregunta 7 usando lo que se llama rebanado de lista:
ResponderEliminardef PNDM(palabra):
len_palabra = len(palabra)
test_inversion =palabra[-len_palabra:]
if test_inversion == palabra:
print("Es un palidromo")
else:
print(" Error la palabra ingresada no es correcta")
entry_user = input("""\
Ingrese un palindromo para verificarlo
Palindromo--->
""")
print(PNDM(entry_user))
Hola, alguien me ayuda con este ejercicio=
ResponderEliminarHaz un programa que pida al usuario ingresar en primer lugar un capital en pesos (c), en segundo lugar, una tasa de interés anual (t) y por último, un número de años (n).
El programa debe mostrar por pantalla el capital resultante transcurridos esos años si cada año se aplica la tasa de interés introducida. Recuerda que un capital de c pesos a una tasa de t por cien al cabo de n años se convierte en c*(1+t/100)**n pesos.
Hola, he intentado tus ejercicios y me marca error, logro corregirlo y no me marca nada en el shell. Exactamente no sé si estoy ejecutándolos bien ¿podrías orientarme por favor?
ResponderEliminarSaludos y gracias.
Hola, podrías indicar por acá el error que te da? Saludos
Eliminarhola somos novatos como podemos empezar? gracias, un saludo crack
ResponderEliminarHola, como estan? Gracias por visitar el blog. Pueden pasarse por los tutoriales tanto de Python 2.7 como el de Python 3.5 Saludos!!!
Eliminar
Eliminarhemos aprendido mucho con tus tutoriales!! muchas gracias diegoo!!!!
Eliminarhemos aprendido mucho con tus tutoriales!! muchas gracias diegoo!!!!
Eliminarhemos aprendido mucho con tus tutoriales!! muchas gracias diegoo!!!!
Me alegro mucho. A seguir metiendo!!! Saludos
Eliminarhola como va? tengo un problema con este ejercicio y lo necesito lo mas rapido posible!! desde ya te digo que muy buenos tutoriales....!!
ResponderEliminaraca va el problema:
Realice una función de nombre palabra_mas_repetida() que reciba como argumento una cadena cualquiera que representa un texto y devuelva la primera palabra que más veces aparece en el mismo (no debe diferenciar mayúsculas de minúsculas). La palabra debe devolverse siempre en minúscula.
Hola Martin, ¿Has intentado hacer algo del ejercicios? Puedes poner parte del código para ayudarte!!!
EliminarGracias por visitar el blog!!!
hola Martin con in y for se hace eso(soy novato) ahora no recuerdo la sintaxis....espero haber ayudado
Eliminarhola, mira como hice el ejercicio(6)
ResponderEliminarnombre=input("ingrese un nombre/frace para ver su reves :")
nom_rev=nombre[::-1]
print(nom_rev)
Este comentario ha sido eliminado por el autor.
ResponderEliminarimplementar una funcion (metodo)
ResponderEliminarque retorne el valor de la funcion
f(x)= x^3-raiz(x)-5, elevado en el
valor de x ayuda
from cmath import *
Eliminardef funcion(x):
f = x ** 3 - sqrt(x) -5
return f
a = int(input("Ingrese x"))
print(funcion(a))
Algún programa que imprima números pares y los multiplique al cuadrado?
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarhola tengo un problema recien estoy aprendiendo python pero me an dejado de tarea esto :
ResponderEliminarEn un proceso electoral se tiene anotados los n votos para aprobar una moción .cada voto tiene el número de identificación del elector (números enteros del 1 al n)y un número que representa su decisión: 1 si es favor, 0 si es en contra, cualquier otro número es nulo. Escriba un programa que lea los n datos conteniendo el numero del elector (no suponga que este ordenados)y su voto. Coloque los números de identificación en tres lista: votantes a favor a, votantes en contra y votantes nulos .finalmente busque y muestre si hay números de identificación de electores que estén en más de una lista.
me podrias dar una idea de como hacerlo
me podrian ayudar
ResponderEliminarYo resolvi la funcion inversa de esta forma
ResponderEliminardef inversa(x):
l=[]
z=""
for i in x:
l.append(i)
for j in range(len(l)-1,-1,-1):
z=z+l[j]
print(z)
print("Ingresa una palabra o frase: ")
c=input()
inversa(c)
Excelente!!! Gracias por visitar el blog!!!
Eliminaryo lo resolví de esta manera el ejercicio 6:
ResponderEliminardef inversa(palabra):
long= len(palabra)
invertido=""
for i in range(1,long+1):
invertido += palabra[-i]
print (invertido)
inversa("introducir texto aqui")
Excelente stanley, gracias por compartir tu solución a los ejercicios. Saludos
Eliminardef invers(texto):
Eliminarinver = ""
for letra in texto:
inver = letra + inver
return inver
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarejercicio 7 simplificado:
ResponderEliminardef palindromos(valor):
if valor == valor[::-1]:
print("es un palindromo")
else:
print("no es un palindromo")
palindromos("radar")
hola me podrian ayudar a resolver este ejercicio
ResponderEliminarCrear en Python con vectores el siguiente menú;
1. Agregar estudiantes y notas.
2. Listar Estudiantes notas, definitiva y estado.
3. Modificar notas.
4. Listar número de aprobados y numero de reprobados
5. Listar número de mujeres y número de hombres
6. Listar número de mujeres aprobadas y número de hombres aprobados.
7. Listar estudiante con mayor y menor nota promedio
8. Salir
Debes tener en cuenta:
1. Cada estudiante tiene 3 notas con el siguiente porcentaje: nota 1: 30%, nota 2: 30% y nota 3 con el 40%)
2. El estado se refiere a Aprobado y Reprobado, se aprueba con un mínimo de 3.7
3. No debe aceptar notas menores a 0 y mayores a 5
4. Se puede modificar la nota de un estudiante.
5. Para registrar cada estudiante se debe pedir nombre código género y las tres notas.
6. Realice los diferentes procedimientos utilizado funciones y/o procedimientos.
Esto serviría para mostrar el paso de parámetros entre funciones.
ResponderEliminardef max(num_a, num_b):
if num_a > num_b:
return num_a
elif num_a < num_b:
return num_b
return num_a
def max_de_tres(num_a, num_b, num_c):
return max(max(num_b, num_c), max(max(num_a, num_b), max(num_a, num_c)))
Ejercicio 7: Yo lo he resuelto así, me ha parecido mucho más sencillo que tu solución, que ya leí que te costo bastante. Animo con el blog, está currado. Te lo copio aquí y donde las soluciones.
ResponderEliminarpalabra = input('Dar una cadena de caracteres : ')
palabraInv = palabra[::-1]
if palabra == palabraInv:
print('La palabra ', palabra, ' es palindroma')
else:
print('La palabra ', palabra, ' NO es palindroma')
alguien que me ayude con este problema por favor,gracias.
ResponderEliminarRealice una funcion de nombre contar_palabras_contar () que reciba como argumento una palabra cualquiera y devuelva la cantidad de palabras presentes en la cadena con longitud de hasta 5 caracteres.
yo estoy con el mismo ejercicio, y me quedo trabado y no lo puedo terminar
EliminarHola has podido escribir algo de código para poder ayudarte? en que parte estas trancado?
EliminarGracias por visitar el blog!!!
si, escribí pero no esta bien, creo que estoy mezclando las cosas, en otro comentario agrego lo que hice
Eliminardef contar_palabra_contar ():
Eliminarraw_input ("")
contador = 0
for palabras in ():
if len (palabras) <=5:
contador = contador + 1
return(contador)
frases=raw_input("Frases: ")
fra=frases.split(".")
for i in range(len(fra)):
pal = 0
if len (frases) <=5:
pal += 1
print pal
def contar_palabra_contar ():
Eliminarpalabras = (raw_input ("")).split(" ")
contador = 0
for p in palabras:
if len(p) <= 5:
contador = contador + 1
return(contador)
Lo que te falta es separar las palabras con Split para convertir la frase en una lista de palabras. Luego de ahí tener que iterar sobre cada palabra y preguntar si tiene 5 o menos caracteres. Con Split(" ") separas la frase por palabras con espacio!!!
Saludos
aaaaaaaaaaaah, ahora si! muchas gracias viejo!
EliminarCreo que el ultimo ejemplo no imprime un histograma.... propongo la siguiente solucion:
ResponderEliminarentrada=[1,2, 6, 4, 2, 5, 9, 5, 8, 5, 4, 1, 2, 5, 2, 5, 3, 6, 3, 6, 3, 2, 1, 4, 5, 2, 1, 4, 4, 5, 4, 5 , 1, 5, 8, 5,3,10,11,12,12,12]
def procedimiento(elementos):
caracter="*"
comparador=range(min(elementos),max(elementos)+1)
contador=0
histograma={}
for indice in comparador:
for elemento in elementos:
if elemento==indice:
contador+=1
histograma[indice]=contador
contador=0
for ejeX in (histograma):
ejeY=histograma[ejeX]
print("{}:{}({})\n".format(ejeX,ejeY*"*",ejeY))
procedimiento(entrada)
https://trinket.io/python/91a25bc4a4
Hola queria hacer una consulta, resulta que tengo que decodificar un mensaje. En este caso la tupla vendria siendo este “alfabeto”: ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","0","1","2","3","4","5","6","7,","8","9","!",",",".",":",";","?","-","+","*","/")
ResponderEliminarEl mensaje se codifica utilizando un método ampliamente difundido, el cual corresponde a un sistema por sustitución simple basado en una manipulación aritmética sobre la posición que ocupa el carácter en el “alfabeto”. Esta manipulación aritmética es la misma para todos los caracteres de los mensajes y consiste en sumar un determinado número entero positivo a la posición del carácter en estudio y reemplazarlo por el indicado en la suma.
Una vez realizado este reemplazo, se intercambian los caracteres de la siguiente forma: el primer caracter se intercambia con el último, el segundo con el penúltimo y así sucesivamente.
El mensaje así codificado, es enviado al espia junto a una clave numérica que posibilita la decodificación (este número corresponde al desplazamiento en el alfabeto que dio inicio a la codificación).
A modo de ejemplo considere el siguiente ejemplo:
Mensaje a codificar: HUGO ARAYA
Clave utilizada: 6
Primera etapa(manipulación aritmética):N MU5GXG3G
Segunda etapa(intercambio):G3GXG5UM N
Mensaje a enviar al espía:
6
G3GXG5UM N
PODRIAN AYUDARME CON ESTO POR FAVOR! SOY NUEVA EN ESTO Y DEPENDO DE ESTO SALVAR EL RAMO :(
Hola, has podido hacer algo del ejercicio?
EliminarSaludos
para el ejercicio 6
ResponderEliminardef inversa (cadena):
invertida = ""
for i in range (-(len(cadena)-1), 1):
print (i)
invertida += cadena[-i]
return invertida
inversa("hola mundo")
Hola muchos me quedaron casi idénticos pero el que si cambio mucho es el 7 de los palíndromos, a si que lo comparto, muy buen post felicidades.
ResponderEliminardef Polin(Cadena):
ind1 = -1
ind2 = 0
tam = len(Cadena)
while(tam > 0):
if(Cadena[ind1] != Cadena[ind2]):
ind1 -= 1
ind2 += 1
tam -= 1
print "No es un palindromio"
else: print "Es un palindromio"
break
x = 1
while(x != 0):
paln = raw_input("Ingrese un palindromio: ")
Polin(paln)
print "Si desea continuar teclee 1"
x = input("Si desea salir teclee 0: ")
aqui esta el como yo hice la de las palabras palindrome (Y)
ResponderEliminardef kappa(palabra):
b = palabra[::-1]
if palabra == b:
print(True)
else:
print(False)
a = (input("Ingresa un nombre "))
kappa(a)
Para el ejercicio de la cadena inversa
ResponderEliminardef cadena_inversa (cadena):
cadena_inversa = ''
j = len(cadena)
for i in range(0,len(cadena)):
cadena_inversa = cadena[i] + cadena_inversa
j = j - 1
return cadena_inversa
perdón, omitir las líneas de j = len(cadena) y j = j-1 que no valen para nada, quedaría así
Eliminardef cadena_inversa (cadena):
cadena_inversa = ''
for i in range(0,len(cadena)):
cadena_inversa = cadena[i] + cadena_inversa
return cadena_inversa
Hola, querría ayuda para un programa que cuente las vocales de la palabra que escribas. Gracias
ResponderEliminarHola podrias ayudarme con esto? no se que falta
ResponderEliminardef inversa (s):
s1=""
for i in range(len(s)):
s1 +=s[-i-1]
return s1
def eliminaEspacios(s):
s1=""
for i in range (len(s)):
if s[i]!=" ":
s1 +=s[i]
return s1
def palidromo(s):
s = eliminaEspacios(s)
esPalidromo = True
for i in range (len(s)//2):
if s[i] != s[-i-1]:
esPalidromo = False
como puedo hacer un contador de caracteres con la funcion string
ResponderEliminarMuy buenos los ejercicios :D
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarPunto 1
ResponderEliminardef max():
n1 = input('Ingrese el primer número: ')
n2 = input('Ingrese el segundo número: ')
if n1 > n2:
print('El numero mayor es: ', n1)
elif n2 > n1:
print('El número mayor es: ', n2)
else:
print('Ambos numeros son iguales')
max()
Punto 2
#/usr/bin/env python
#-*-coding:utf-8-*-
def max_de_tres():
n1 = input('Inserte primer número: ')
n2 = input('Inserte segundo número: ')
n3 = input('Inserte tercer número: ')
if n1 > n2 and n1 > n3:
print ('El mayor es', n1)
elif n2 > n1 and n2 > n3:
print ('El mayor es', n2)
elif n3 > n1 and n3 > n2:
print ('El mayor es', n3)
else:
print('Todos son iguales')
max_de_tres()
Punto 3
def largo_cadena(lista):
cont = 0
for i in lista:
cont+=1
return cont
print(largo_cadena(["cadena","cadena2"]))
Punto 4
def vocal():
x=0
x = input('Ingrese la letra')
if x=="a" or x=="e" or x=="i" or x=="o" or x=="u":
print ('Es una vocal')
elif x=="A" or x=="E" or x=="I" or x=="O" or x=="U":
print ('Es una vocal')
else:
print ('No es una vocal')
vocal()
Punto 5
def suma(lista):
sum=0
i=1
for i in lista:
sum+=i
print(sum)
def multi(lista):
mul=1
i=1
for i in lista:
mul*=i
print(mul)
n=input("ingrese cuantos numeros desea operar: ")
lista = list()
for i in range(0,int(n)):
lista.append(int(input("ingresa un numero")))
suma(lista)
multi(lista)
Punto 7
def palindromo():
frase = input('Ingrese una frase:')
mi = frase.lower()
temp = mi.replace(' ','')
if temp == temp[::-1]:
print('La frase es palindromo')
else:
print('No es palindromo')
palindromo()
Punto 8
def comprar_lista():
lista1 = input('Ingrese lista')
lista2 = input('Ingrese lista')
for x in lista1:
for i in lista2:
if i == x:
print('Ambas listas son iguales')
else:
print('Las listas son diferentes')
comprar_lista()
Punto 9
def generar_b_caracteres():
caracteres = input('Ingrese el caracter')
n = input('ingrese el numero')
print(int(n)*caracteres)
generar_b_caracteres()
Punto 10
class classe1:
def generar_b_caracteres(self):
caracteres = input('Ingrese el caracter')
a=classe1()
cantidad=a.cacturar_iteraciones()
a.imprimir(a.listar(cantidad),caracteres)
#return int(n)*caracteres
def cacturar_iteraciones(self):
return int(input("ingrese la cantidad de repeticiones que quieres"))
def listar(self,cantidad):
lista=list()
for i in range(0,cantidad):
lista.append(int(input("ingresa la iteracion: ")))
return lista
def imprimir(self,cantidad,caracteres):
for i in cantidad:
print (i*caracteres)
a=classe1()
a.generar_b_caracteres()
Hola, la cuestión 6 se puede hacer mucho más simple con un bucle for (aunque computacionalmente supongo que será igual):
ResponderEliminardef inversa(s):
r=''
le=len(s)
for i in range(le):
r=r + s[le-1-i]
return r
Por cierto, muchas gracias por los ejercicios, me ayudan a familiarizarme con el lenguaje
Comentar que en el enunciado de los ejercicios 1 y 2 pide explícitamente una función "que devuelva", no que imprima ;)
ResponderEliminarSi se hace uso de la función "inversa" creada en el ejercicio 6, la función es_palindromo se puede hacer con sólo una línea de código:
ResponderEliminardef es_palindromo(text):
return text == inversa(text)
Solución alternativa al ejercicio 8:
ResponderEliminardef superposicion(list1, list2):
for i in list1:
if i in list2:
return True
return False
Ejercicio 2.
ResponderEliminarif (n1>n2 and n1>n3)
print n1
else (n2>n1 and n2>n3)
print n2
else (n3>n2 and n3>n1)
print n3
¿es correcto y si no por que ?
correccion.
Eliminarn1=1
n2=2
n3=3
if n1>n2 and n1>n3:
print (n1)
elif n2>n1 and n2>n3:
print (n2)
elif n3>n2 and n3>n1:
print (n3)
es correcto ?
Hola! Recién aprendo a programar y tus ejercicios son de mucha ayuda porque aún no tengo la imaginación necesaria para inventar mis problemas ^^'. Te escribo mi propuesta del ejercicio 6 y a ver qué te parece. Saludos!!!
ResponderEliminardef inversa(cadena):
a = len(cadena):
for i in cadena:
a -= 1
print (cadena[a], end="")
cadena = input("Inserta una cadena para invertirla:")
print("\n")
inversa(cadena)
print("\n")
Este comentario ha sido eliminado por el autor.
ResponderEliminarMi solucion al problema del palindromo es la que se muestra a continuación:
ResponderEliminardef function_palindromo(mat):
....longi=len(mat)
....cond=True
....for i in range(0,int(longi/2)):
........if(mat[i]!=mat[longi-i-1]):
............return False
........else:
............cond=True
....return cond
Para el ejercicio 6 intente hacer listas hasta que me salio:
ResponderEliminardef inversa(cadena3):
cadena3=list (cadena3)
cadena3.reverse()
cadena3=''.join(cadena3)
print (cadena3)
inversa()
hola gracias por estos ejercicios, yo en el ejercicio 4 en lugar de agregarle un elif le puse un comando lower a la letra que pida para que siempre me devuelva una minúscula, no se si es correcto pero me pareció lo mas sencillo:
ResponderEliminarletra = raw_input("ingrese una letra: ")
letra = letra.lower()
def vocales():
if letra == 'a' or 'e' or 'i' or 'o' or 'u':
return True
else:
return False
print vocales()
nuevamente muchas gracias por estos ejercicios para poder practicar.
slds.-
Ejercicio 6
ResponderEliminarCreo que a alguien le puede ayudar a entender de otra manera el ejercicio:
def inversa(cadena):
cadena_aux=""
for i in range(len(cadena)):
cadena_aux+=cadena[-(i+1)]
print(cadena_aux)
inversa('estoy probando')
me podrian apoyar con este ejercicio:
ResponderEliminarejercicio 1: Supongamos que debemos obtener la suma de los gastos que hicimos en nuestro último viaje, pero no sabemos exactamente cuántos fueron. Los datos son expresados en forma: (GASTO)-> $2,528, $3,500, $1,600, $1,850, $150, -1
Hola!, para el de los palíndromos la hice más corta:
ResponderEliminardef es_palindromo(palabra):
if inversa(palabra) == palabra:
return True
else:
return False
Este comentario ha sido eliminado por el autor.
ResponderEliminarhola me pueden ayudar con esto ? Realice un programa que calcule las frecuencias de aparición de cada una de las letras del alfabeto castellano (no considerar tildes ni otros signos).
ResponderEliminarMuestre los resultados en porcentajes: Por ejemplo. A:4.25, B: 1.12.....
#-*- coding: utf-8 -*-
ResponderEliminar#He aqui mi codigo con todos los ejercicios
vocales = ['a', 'e', 'i', 'o', 'u']
def max(a,b):
if a > b:
return a
else:
return b
def max_de_tres(a,b,c):
if a > b and a > c:
return a
elif b > a and b > c:
return b
else:
return c
def longitud(a):
len = 0
for i in a:
len += 1
return len
def esVocal(a):
loes = False
for i in range(longitud(vocales)):
if a == vocales[i]:
loes = True
return loes
def suma(a):
res = 0
for i in a:
res += i
return res
def multi(a):
res = 1
for i in a:
res *= i
return res
def invertir(a):
atol = []
inv = ""
for i in a:
atol.append(i)
atol.reverse()
for i in atol:
inv += i
return inv
def es_palindromo(a):
if a == invertir(a):
return True
else:
return False
def superposicion(a,b):
conz = False
for i in a:
if conz != True:
for j in b:
if i == j:
conz = True
break
else:
break
return conz
def generar_n_caracteres(n,c):
return c * n
def histograma(a):
for i in a:
print("%s\n" %(generar_n_caracteres(i,'*')))
Una persona adquirió un producto para pagar en 20 meses. El primer mes pagó $10, el segundo $20, el tercero $40 y así sucesivamente. Realice un programa para determinar cuánto debe pagar mensualmente y el total de lo que pagó después de los 20 meses y represéntelo mediante un programa
ResponderEliminarArchivos enviados
Madre mía como me he complicado la vida en el #6 :_(
ResponderEliminardef invertir (x):
posicion = len (x) - 1
cadena_inv = []
for i in x:
cadena_inv += i
for i in x:
cadena_inv [posicion] = i
posicion -= 1
inver = ''.join(cadena_inv)
return (inver)
entrada = input ('te lo digo al revés : ')
print (invertir (entrada))