Ejercicios en python (Parte 3)
Ejercicios en python (parte 3) |
Buenas, hoy voy a dejar algunos ejercicios mas para python y asi entretenernos un buen rato el fin de semana.
Ejercicio 1
Diseñar un sistema de puntos para el juego El reino del dragón:
Dejo el enlace por si alguien no lo vio.
La idea es la siguiente: mientras el jugador vaya ganando, ira acumulando puntos.
Ejemplo: Si el jugador entra en la primera cueva y gana el tesoro, se le acreditan 100 puntos, entra en la segunda cueva y gana el tesoro, se le acreditan otros 100 puntos. Si el jugador pierde, saldrá en pantalla el total de los puntos que realizo y la opción de empezar de nuevo.
Ejercicio 2
Escribe un programa que te permita jugar a una versión simplificada del
juego Master Mind. El juego consistirá en adivinar una cadena de números
distintos. Al principio, el programa debe pedir la longitud de la cadena (de 2
a 9 cifras). Después el programa debe ir pidiendo que intentes adivinar la
cadena de números. En cada intento, el programa informará de cuántos números
han sido acertados (el programa considerará que se ha acertado un número si
coincide el valor y la posición).
Intenta adivinar la cadena: 1234
Con 1234 has adivinado 1 valores. Intenta adivinar
la cadena: 1243
Con 1243 has adivinado 0 valores. Intenta adivinar
la cadena: 1432
Con 1432 has adivinado 2 valores. Intenta adivinar
la cadena: 2431
Con 2431 has adivinado 4 valores.
Felicidades
Ejercicio 3
Escribe un programa que pida dos palabras y diga si riman o no. Si coinciden
las tres últimas letras tiene que decir que riman. Si coinciden sólo las dos
últimas tiene que decir que riman un poco y si no, que no riman.
Ejercicio 4
Has un programa que pida al usuario una cantidad de dolares, una tasa de interés y un numero de años. Muestra por pantalla en cuanto se habrá convertido el capital inicial transcurridos esos años si cada año se aplica la tasa de interés introducida.
Recordar que un capital C dolares a un interés del x por cien durante n años se convierte en C * (1 + x/100)elevado a n (años). Probar el programa sabiendo que una cantidad de 10000 dolares al 4.5% de interés anual se convierte en 24117.14 dolares al cabo de 20 años.
En cuanto tenga las soluciones publicare la entrada y actualizare esta con el enlace a las mismas.
Saludos y buen fin de semana...
-
hay parte 2? xd
-
Aquí están los ejercicios resueltos de esta entrega: https://www.pythondiario.com/2013/08/ejercicios-resueltos-en-python-parte-3.html
Saludos
-
-
hola amigos
pueden ayudarme a generar fechas de equipos de futbol, como las genero los enfrentamiento y eso desde ya muchas gracias-
Hola, no entiendo tu consulta.
-
-
Un capital de C euros a un interés del x por cien anual durante n años se convierte en
C · (1 + x/100)n euros.
Diseña un programa Python que solicite la cantidad C y el interés x y calcule el capital final sólo si x es una cantidad positiva.
quisiera saber como resorlverlo-
def taza():
c = input()
x = input()
n = input()
t =c * ( 1+x/100)**n
print(t)
taza()
-
-
Hola, podrias hacer una version simplificada de el juego "ludo"? Gracias
-
Hola, podrias hacer una version simplificada de el juego "ludo"? Gracias
-
Esta es mi versión del ejercicio tres:
palabra1 = raw_input("Introduzca una palabra: ")
palabra2 = raw_input("Introduzca otra palabra: ")
print ""lista1 = list(palabra1)
lista2 = list(palabra2)borrado1 = len(palabra1) - 3
borrado2 = len(palabra2) - 3l1 = lista1[borrado1::]
l2 = lista2[borrado2::]while True:
>>> if l1 == l2:
>>>>>> if len(l1) == 3:
>>>>>>>>> print "Riman"
>>>>>>>>> break
>>>>>> elif len(l1) == 2:
>>>>>>>>> print "Riman un poco"
>>>>>>>>> break
>>>>>> else:
>>>>>>>>> print "No riman"
>>>>>>>>> break
>>> else:
>>>>>> l1.pop(0)
>>>>>> l2.pop(0)-
Excelente!!!
-
Esta muy bien... pero, a modo de ahorro de código xD, mira esta:
(utilicé .reverse() para solucionarlo ;))
def Riman():
----Palabra1=list(raw_input("Ingrese la primera palabra:"))
----Palabra2=list(raw_input("ingrese la palabra a rimar:")
----Palabra1.reverse()
----Palabra2.reverse()
----if Palabra1[0:3] == Palabra2[0:3]:
--------print "Sí riman"
----elif Palabra1[0:2] == Palabra2[0:2]
--------print "Riman un poco"
----else:
--------print "no riman"Soy nuevo :'), este tutorial sirve de maravillas 😀
-
-
Y otra manera de hacer el ejercicio tres similar al anterior:
palabra1 = raw_input("Introduzca una palabra: ")
palabra2 = raw_input("Introduzca otra palabra: ")
print ""lista_palabra = list(palabra1)
rima = lista_palabra[len(lista_palabra) - 3::]while True:
>>>/ if palabra2.endswith("".join(rima)) == True:
>>>/>>>/ if len(rima) == 3:
>>>/>>>/>>>/ print "Riman"
>>>/>>>/>>>/ break
>>>/>>>/ elif len(rima) == 2:
>>>/>>>/>>>/ print "Riman un poco"
>>>/>>>/>>>/ break
>>>/>>>/ else:
>>>/>>>/>>>/ print "No riman"
>>>/>>>/>>>/ break
>>>/ else:
>>>/>>>/ rima.pop(0) -
Esta es mi solución a Master Mind, indentado de un ">", si se usa windows se cambia el "clear" del os.system("clear") por "cls", quedaría de esta manera: os.system("cls")
import random, os, time
def master_mind(longitud):
> lista_cadena = []
> for numero in range(1, longitud + 1):
>> lista_cadena.insert(random.randint(0,4), str(numero))
> cadena = "".join(lista_cadena)> indice = range(0, longitud)
> while True:
>> ingresado = raw_input("Intenta adividar la cadena: ")
>> print ""
>> valor = 0>> for num in indice:
>>> if cadena[num] == ingresado[num]:
>>>> valor += 1>> if valor != longitud:
>>> print "Con %s has adivinado %d valores." % (ingresado, valor)
>> else:
>>> os.system("clear")
>>> print "Con %s has adivinado %d valores. Felicidades!" % (ingresado, valor)
>>> print "Para salir escriba 'salir' en 'longitud de cadena'"
>>> return True
while True:
> try:
>> os.system("clear")
>> largo = raw_input("Dime la longitud de la cadena: ")>> if largo == "salir":
>>> break
>> else:
>>> largo = int(largo)>> if master_mind(largo) == True:
>>> time.sleep(5)
>>> continue
> except:
>> os.system("clear")
>> print "Ha ocurrido un error, intente de nuevo"
>> time.sleep(3)
>> os.system("clear")-
Muy bueno 😉 Saludos
-
-
Alguien puede ayudarme con un programa
-
Alguien me puede ayudar:
Crear un programa que permita ingresar un conjunto de n nombres en una lista y que esta se ordene alfabéticamente. -
Hola buenas:
Vaya tarde de python me he metido, he hecho todos tus ejercicios hoy xD.
Solo añadir que como yo estoy en python 3 he tenido que modificar lo del raw_input()
Vamos en orden, el primero es para mi asi:
#Reino del Dragon....
import random
import time
oro=0
comprueba=""
def introduccion():
print ("Estamos en una tierra llena de dragones. Delante de nuestro,")
print ("se ven dos cuevas. En una cueva, el dragon es amigable")
print ("y compartira el tesoro contigo. El otro dragon")
print ("es codicioso y hambriento, y te va a comer ni bien te vea.")
print ("")def CambiarCueva():
cueva = ""
while cueva != "1" and cueva != "2":
print ("Ha que cueva quieres entrar? 1 o 2?")
cueva=input()return cueva
def cheqcueva(CambiarCueva):
vida=""
print ("Te acercas a la Cueva...")
time.sleep(2)
print ("Esta oscuro y tenebroso...")
time.sleep(2)
print ("Un gran dragon salta delante tuyo, abre su boca y...")
print ("")
time.sleep(2)FriendlyCueva = random.randint (1, 2)
if CambiarCueva == str(FriendlyCueva):
print ("Te entrega el tesoro...")
vida="S"
return vidaelse:
print ("El dragon te come de un bocado....")
vida="N"
return vidaEmpezarNuevo = ("si")
while EmpezarNuevo == ("s") or EmpezarNuevo == ("si"):
introduccion()
NumCaverna = CambiarCueva()
comprueba=cheqcueva(NumCaverna)
if comprueba=="S":
oro=oro+100
print("Tu tesoro de momento es de", oro, "monedas.")
else:
print("Tu tesoro ha sido de", oro, "monedas.")
oro=0print ("Quieres jugar de nuevo? (si o no)")
EmpezarNuevo =input() -
El segundo ejercicio sería:
'''Escribe un programa que te permita jugar a una versión simplificada del juego Master Mind.
El juego consistirá en adivinar una cadena de números distintos.
Al principio, el programa debe pedir la longitud de la cadena (de 2 a 9 cifras).
Después el programa debe ir pidiendo que intentes adivinar la cadena de números.
En cada intento, el programa informará de cuántos números han sido acertados
(el programa considerará que se ha acertado un número si coincide el valor y la posición).'''import random
print("Vamos a jugar a MasterMind")
print("--------------------------")print("¿No sabes jugar? Permiteme que te de una clase muy rápida.n"
"Yo pensaré un número de cuatro letras y tu tendrás que adivinarlo,n"
"cada vez que me digas un número yo te diré cuantos digitos en comunntiene con el que yo he pensadonn")#print(random.randrange(1000,10000))
salida=0 #la usaremos para salir de los bucles
contador=0 #evidentemente es para contar los intentos
valor=0 #esto es para contar cuantas llevamos acertadas.
molde="1" #la usamos para hacer el calculador de random, como es un 1 seguido de X ceros...
rango=molde
comprobador=0 #Para comprobar que se cumplen condiciones y salir de esos bucles.while comprobador==0: #Este bucle es para introducir la longitud del juego
longitud=int(input("Introduce cuantos caracteres quieres que tenga el número a adivinar (Max:10/MIN:2) "))if longitud>10 or longitud<2:
print("El número introducido debe estar comprendido entre 10 y 2")
else:
comprobador=1for i in range(1,longitud): #Con esto le añadimos los ceros correspondientes al randrange, necesitamos eso si que rango sea texto.
rango+="0"rango=int(rango) #convertimos rango a número.
codigo=str(random.randrange(rango,rango*10)) #Generamos el aleatorio
print("Has elegido un número de", longitud, "cifras.")
while salida==0: #El gran bucle que lo controla todo bajo su poder.
comprobador=0
contador=contador+1
valor=0while comprobador==0: #Este bucle se asegura que metes un número con las mismas cifras que la longitud
usuario=input("Introduce un número de esas cifras ------> ")
if len(usuario)!=len(codigo):
print("Tienes que meter un número de ", len(codigo), "dígitos.")
else:
comprobador=1for i in range(len(codigo)): #Esto comprueba el código para indicar los aciertos.
if codigo[i]==usuario[i]:
valor+=1if valor==len(codigo): #Esta batería de condicionales nos muestra un mensaje relacionado con nuestros aciertos y si es total da la salida al bucle.
print("Enhorabuena, has acertado los", valor)
print("Solo has tardado", contador, "intentos")
salida=1
elif valor==len(codigo)-1:
print("Que poquito te queda, has acertado", valor)
elif valor==len(codigo)-2:
print("Esa es la buena senda, has acertado", valor)
else:
print("Vas bastante mal, solo has acertado", valor)print("Este es tu", contador, "intento.") #Pues nada, mostrar cuantos intentos.
if salida==0:
salir=input("¿Quieres salir del programa? S / N ----------> ").upper() #Una salida por si la cosa se eterniza.
else:
salir="S"if salir=="S":
salida=1 -
El de las palabras que riman me ha quedado asi:
def rimon(palabra1, palabra2):
cuentapalabra1=len(palabra1)
cuentapalabra2=len(palabra2)
contador=0
cuentaletras=0
max=0if cuentapalabra2<cuentapalabra1:
max=cuentapalabra1
else:
max=cuentapalabra2for i in range(0,3):
cuentaletras-=1
if palabra1[cuentapalabra1+cuentaletras]==palabra2[cuentapalabra2+cuentaletras]:
contador+=1if contador==3:
print("Las palabras riman bien")
elif contador==2:
print("Las palabras riman un poco")
else:
print("Las palabras no riman nada de nada")rimon(input("Introduce una palabra ").upper(),input("Ahora introduce otra y veamos si riman ").upper())
-
Y por último el que me ha parecido más sencillito, el del interes me ha quedado asi:
def calculadora (capital, interes, tiempo):
print(capital*(1+(interes/100))**tiempo)calculadora(int(input("Introduce un capital ")),
float(input("Introduce la tasa de interes ")),
int(input("Introduce un número de años ")))Me gustaría aprovechar para darte las gracias por estos ejercicios, estoy haciendolos todos y a partir de ahora los comentaré por aqui.
Como estoy empezando en esto me resultan super útiles.
-
Excelente Arguez!!!
Muy buen trabajo, Saludos y a seguir aprendiendo
-
-
Mi solución del MasteR Mind:
import random
def longitud_de_cadena():
longitud=0
while longitud<2 or longitud>9:
longitud=int(input("Dime la longitud de la cadena: "))
return longituddef generar_cadena(longitud):
cadena={}
for i in range(0,longitud):
cadena[str(random.randint(0,9))]="oculto"
return cadena
def advinar_cadena(cadena):
aciertos=0
while aciertos!=len(cadena):
msg=0
i=0
intento=input("Intenta adivinar la cadena: ")
for clave,valor in cadena.items():
if clave==intento[i]:
if cadena[clave]=="oculto":
cadena[clave]="descubierto"
aciertos=aciertos+1
#print("Acertaste con: "+clave)
msg=aciertos
else:
msg=0
i=i+1
print("Con "+intento+" has adivinado "+str(msg)+" valores")
print("Felicidades")nueva_longitud=longitud_de_cadena()
nueva_Cadena=generar_cadena(nueva_longitud)
advinar_cadena(nueva_Cadena) -
El de las que riman me ha quedado así:
palabra1=input("Ingrese la primera palabra: ")
palabra2=input("Ingrese la segunda palabra: ")def riman(palabra1,palabra2):
msg="No riman"if palabra1[-1]==palabra2[-1] and palabra1[-2]==palabra2[-2]:
msg="Riman un poco"
if palabra1[-1]==palabra2[-1] and palabra1[-2]==palabra2[-2] and palabra1[-3]==palabra2[-3]:
msg="Riman"
return msgprint(riman(palabra1,palabra2))
-
print ("Programa para verificar si dos palabras riman o no.")
def rima():
uno=input("Ingresa la primera palabra: ")
dos=input("Ingresa la segunda palabra: ")
if len(uno)<3 or len(dos)<3:
print("Una de las palabras tiene menos de 3 caracteres.")
elif uno[-3:]==dos[-3:]:
print("Las dos palabras riman.")
elif uno[-2:]==dos[-2:]:
print("Las dos palabras riman un poco")
else:
print("No riman un qlo")rima()
-
print("Ejercicio 4")
print("")
print("Calculadora de interes anual")def calcular():
c = int(input("Ingresa un capital inicial: "))
x = float(input("Ingresa una tasa de interes anual: "))
n = int(input("Ingresa una cantidad de años para el calculo: "))print(c*(1+x/100)**n)
calcular()
-
print("Ejercicio 3")
palabra1=input("dime una palabra ")
palabra2=input("dime un segunda palabra ")
if palabra1[-3]==palabra2[-3]:
print("riman")
elif palabra1[-2]==palabra2[-2]:print("riman un poco")
else:
print("estas palabras no riman") -
Otra forma de hacer el Master Mind
import random
def entrada():
lg = int(input("Dime la longitud de la cadena, este debe contener de 2 a 9 cifras: "))
return lgdef EvaluaRandom(cadena, num):
ig=0
for x in cadena:
if x == str(num):
ig =1
return igdef LenCadena(cadena):
cont = 0
for i in cadena:
cont = cont + 1
return contdef Evalua_cadena(cadena, PCad):
coincide = 0for i in range(LenCadena(cadena)):
if PCad[i] == cadena[i]:
coincide +=1
return coincidejugar = input("Desea jugar Master Mind: ")
while jugar == "s" or jugar == "Si" or jugar == "S" or jugar == "SI":
long = entrada()
cadena=""
i=1
cant_coin = 0while i <= long:
num= random.randint(0,9)if i == 1:
cadena+= str(num)
else:
igual= EvaluaRandom(cadena, num)while igual == 1:
num= random.randint(0,9)
igual= EvaluaRandom(cadena, num)if igual == 0:
cadena+= str(num)i+=1
#print(cadena)
PCad = str(input("Intenta adivinar la cadena: "))
cant_coin = Evalua_cadena(cadena, PCad)while cant_coin != long:
PCad = input("Con {} has adivinado {} valores. Intenta adivinar la cadena: ".format(PCad,cant_coin))
cant_coin = Evalua_cadena(cadena, PCad)if cant_coin == long:
print("Con {} has adivinado {} valores. FELICIDADES".format(PCad,cant_coin))jugar = input("Quieres seguir jugando (s/n): ")
Deja una respuesta
Para el sistema de puntos: aqui esta mi solucion puse los puntos mas aleatorio entre 50 y 200 puntos asi me parecio mas dinamico el juego. Dejo elCODE:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#Reino del Dragon....
import random
import time
def introduccion():
print ("Estamos en una tierra llena de dragones. Delante de nuestro,")
print ("se ven dos cuevas. En una cueva, el dragon es amigable")
print ("y compartira el tesoro contigo. El otro dragon")
print ("es codicioso y hambriento, y te va a comer ni bien te vea.")
print ("")
def CambiarCueva():
cueva = ""
while cueva != "1" and cueva != "2":
print ("Ha que cueva quieres entrar? 1 o 2?")
cueva = raw_input()
return cueva
newgame = ("s")
oro = 0
while newgame == ("s"):
NumdelaCueva = CambiarCueva()
print ("Te acercas a la Cueva...")
time.sleep(2)
print ("Esta oscuro y tenebroso...")
time.sleep(2)
print ("Un gran dragon salta delante tuyo, abre su boca y...")
print ("")
time.sleep(2)
FriendlyCueva = random.randint (1, 2)
print "la cueba es", FriendlyCueva
if NumdelaCueva == str(FriendlyCueva):
print ("Te entrega el tesoro...")
cofre = random.randint(50, 200)
print "Has ganado ", cofre, "en oro"
oro += cofre
else:
print ("El dragon te come de un bocado....")
print "Perdiste!!n Oro acomulado:", oro
newgame = raw_input("Quieres jugar de nuevo? (s / n)")
oro = 0