Ejercicios en python (parte 4)
Ejercicios en python (parte 4) |
Buscando algunos ejercicios como para arrancar la semana, me encontré algunos hechos en C++ (nosotros los haremos en python) que me parecieron bastante
entretenidos y desafiantes para los que recién están comenzando.
Como siempre primero propongo los ejercicios y luego en otra entrada publicaré mis soluciones.
1) Este programa pide primeramente la cantidad total de compras de una persona. Si la cantidad es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción. Pero si la persona ingresa una cantidad en compras igual o superior a $100.00, el programa genera de forma aleatoria un número entero del cero al cinco. Cada número corresponderá a un color diferente de cinco colores de bolas que hay para determinar el descuento que el cliente recibirá como premio. Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de los otros cuatro colores, sí se aplicará un descuento determinado según la tabla que aparecerá, y ese descuento se aplicará sobre el total de compra que introdujo inicialmente el usuario, de manera que el programa mostrará un nuevo valor a pagar luego de haber aplicado el descuento.
Ejemplo ejercicio 1 |
2) De la galería de productos, el usuario introducirá el código y el número de unidades del producto que desea comprar. El programa determinará el total a pagar, como una factura.
Una variante a este ejercicio que lo haría un poco más complejo sería dar la posibilidad de seguir ingresando diferentes códigos de productos con sus respectivas cantidades, y cuando el usuario desee terminar el cálculo de la factura completa con todas sus compras. Te animas??
Ejemplo ejercicio 2 |
3) Este programa muestra primero el listado de categorías de películas y pide al usuario que introduzca el código de la categoría de la película y posterior a ello pide que el usuario introduzca el número de días de atraso, y así se muestra al final el total a pagar.
Ejemplo ejercicio 3 |
-
aca otra opcion para los mas principiantes usando if, elif, else;
ej1:
import random
bola1="BOLA BLANCA 0%" #DEFINIMOS LA "TABLA DE DESCUENTOS"
bola2="BOLA ROJA 10 %"
bola3="BOLA AZUL 20%"
bola4="BOLA VERDE 25%"
bola5="BOLA AMARILLA 50%"def promo():#CREAMOS LA FUNCION PROMO
precio=int(input("INGRESE EL MONTO: "))#GUARDAMOS EN LA VARIABLE PRECIO EL MONTO DE LA COMPRAif precio >=100000:# SI PRECIO ES MAYOR O IGUAL A 100000
a = random.randrange(1, 6, 1) #ELEGIMOS UN NUMERO ALEATORIO ENTRE 1 Y 5
blanca=1#GUARDAMOS LOS NUMEROS ASIGNADOS A LOS COLORES
roja=2
azul=3
verde=4
amarilla=5
print("%25s" % bola1)#ACA MOSTRAMOS LA "TABLA DE DESCUENTOS"
print("%25s" % bola2)
print("%25s" % bola3)
print("%25s" % bola4)
print("%25s" % bola5)
print(a)if blanca ==a: #SI EL NUMERO ALEATORIO ES IGUAL A 1 NO SE APLICARA LA PROMOCION
print("SALIO LA BOLA BLANCA NO SE APLICARA LA PROMOCION")if roja==a: #SI LA NUMERO ALEATORIO ES IGUAL A 2 SE APLICA EL DESCUENTO
calc=precio*0.10
calc1=precio-calc
print("EL TOTAL A PAGAR ES ",calc1)if azul==a: #SI LA NUMERO ALEATORIO ES IGUAL A 3 SE APLICA EL DESCUENTO
calc=precio*0.20
calc1=precio-calc
print("EL TOTAL A PAGAR ES ",calc1)if verde==a: #SI LA NUMERO ALEATORIO ES IGUAL A 4 SE APLICA EL DESCUENTO
calc=precio*0.25
calc1=precio-calc
print("EL TOTAL A PAGAR ES ",calc1)if amarilla==a: #SI LA NUMERO ALEATORIO ES IGUAL A 5 SE APLICA EL DESCUENTO
calc=precio*0.50
calc1=precio-calc
print("EL TOTAL A PAGAR ES ",calc1)else: #SI PRECIO ES MENOR A 100000 NO SE APLICA LA PROMOCION
print("NO SE APLICARA LA PROMOCION")promo()
-
aca muestro una solucion sencilla pero funcional. Se puede ingresar los productos que desee hasta que el usuario pare el bucle. Se podria mejorar pero bueno, en fin
EJ2:
print ("ELIJA EL PRODUCTO DESEADO") #MOSTRAMOS LA TABLA DE PRODUCTOS
print ("")
print ("PRODUCTO CODIGO")
print ("")
print ("CAMISA........................... 1")
print ("CINTURON......................... 2")
print ("ZAPATOS.......................... 3")
print ("PANTALON......................... 4")
print ("CALCETINES....................... 5")
print ("FALDAS........................... 6")
print ("GORRAS........................... 7")
print ("SUETER........................... 8")
print ("CORBATA.......................... 9")
print ("CHAQUETA......................... 10")
print ("")def factura():
ter="a"#DEFINIMOS VARIABLE
li=[]#CREAMOS UNA LISTA
productos={1:100,2:125,3:34,4:45,5:454,6:45,7:10,8:54,9:444,10:45}#DICCIONARIO DE PRODUCTOS
while ter=="a":#SI WHILE ES IGUAL A "a" CONTINUA EL BUCLE
codigo=int(input("INGRESE EL codigo: "))#PEDIMOS EL CODIGO Y LO ALMACENAMOS
cantidad=int(input("INGRESE la cantidad: "))#PEDIMOS LA CANTIDAD
ter=input("Si desea terminar percione 'S' sino 'A': ")#"PARA TERMINAR PRECIONE "S"
total=cantidad*(productos[codigo])#MULTIPLICAMOS LA CANTIDAD X EL VALOR DEL PRODUCTO
li.append(total)#AGREGAMOS EL TOTAL A UNA LISTAsuma=0#DEFINIENDO VARIABLE
indice=0#DEFINIENDO VARIABLEwhile indice<len(li):#TERMINAR EL BUCLE CUANDO LLEGUE A LA CANTIDAD DE PRODUCTOS QUE SE ENCUENTRAN EN LA LISTA "LI"
suma=suma+li[indice]#SUMAMOS LOS ELEMENTOS DE LA LISTA
indice=indice+1#SUMAMOS 1 A LA VARIABLE INDICE(CUANDO LLEGUE A LA CANTIDAD DE PRODUCTOS DE LA LISTA LI SE TERMINA EL BUCLE)print("EL TOTAL ES",suma)#MOSTRAMOS EL TOTAL
factura()
-
Esta en python 3.4
saludos-
Eso te iba a preguntar, porque me daba error con esta linea:
ter=raw_input("Si desea terminar percione 'S' sino 'A': ")#"PARA TERMINAR PRECIONE "S"En python 2.7 cambié por raw_input, porque espera un entero y se le pasa un string.
Saludos
-
-
Yo resolvi el ejercicio numero 2 e incluso el usuario puede seguir comprando y al final se suma todo lo que ha comprado:
import random
total = []
def main():
----cProductos = {'CAMISA/S': 1, 'CINTURON/ES': 2,
'ZAPATOS': 3, 'PANTALON/ES': 4,
'CALCETINES': 5, 'FALDA/S': 6,
'GORRA/S': 7, 'SUETER/S': 8,
'CORBATA/S': 9, 'CHAQUETA/S': 10}
pProductos = {'CAMISA/S':25, 'CINTURON/ES':15,
'ZAPATOS':50, 'PANTALON/ES':30,
'CALCETINES':5, 'FALDA/S':45,
'GORRA/S':20, 'SUETER/S':8,
'CORBATA/S':15, 'CHAQUETA/S':70}
#Imprimir las opciones
----def opciones():
--------print 'ELIJA EL PRODUCTO DESEADO:n'
--------print 'Producto' + ' ' + 'CODIGO'--------for key, value in cProductos.items():
------------resultados = ' ' + str(key) + ' .................... ' + str(value)
------------print resultados----opciones()
#Solicitar codigo y calcular precio
----def codigos():
--------codigo = input('INTRODUCE EL CODIGO: ')
--------for producto, code in cProductos.items():
------------if code == codigo:
----------------l = producto--------precio = []
--------for i, value in pProductos.items():
------------if i == l:
----------------print 'EL PRECIO ES: ',value,'$'
----------------precio.append(value)--------print 'INTRODUZCA CUANTAS ',l,' QUIERE LLEVAR: '
--------cantidad = input()--------total.append(sum(cantidad * precio))
--------eleccion = raw_input('SI QUIERES SEGUIR COMPRANDO PRESIONA S SINO PRESIONA OTRA TECLA: ')
--------if eleccion == 's':
------------opciones()
------------codigos()
--------else:
------------print 'EL TOTAL A PAGAR ES ',(sum(total)),'$'----codigos()
main()
-
No me di cuenta y deje un import que habia usado en otro codigo, puff, bueno igual el codigo es funcional
-
Excelente Jesus. Saludos
-
-
#!/usr/bin/env python
# -*- coding: utf-8 -*-import random
import osdef clear_screen(): # para limpiar la pantalla
if os.name == "posix":
os.system('clear')
elif os.name == ("ce", "nt", "dos"):
os.system('cls')def dame_datos():
compra = input('introduzca el total de la compra: ')
compra = int(compra)if compra >= 100:
print('Su gastos iguala o supera los $100.00 y por tanto participa en la promocionn')
print(' COLOR DESCUENTOn')
print(' BOLA BLANCA NO TIENE')
print(' BOLA ROJA 10 POR CIENTO')
print(' BOLA AZUL 20 POR CIENTO')
print(' BOLA VERDE 25 POR CIENTO')
print(' BOLA AMARILLA 50 POR CIENTOn')else:
print(' su gasto es inferior a $100.00 y no partecipa a la promocion')
exit()return compra
def calcula_descuento(valor):
descuento = 0
lista = ['BLANCA', 'ROJA', 'AZUL', 'VERDE', 'AMARILLA']azar = random.choice(lista)
if azar == 'BLANCA':
descuento = 'NO TIENE'
elif azar == 'ROJA':
descuento = 10
elif azar == 'AZUL':
descuento = 20
elif azar == 'VERDE':
descuento = 25
elif azar == 'AMARILLO':
descuento = 50print('Aleatoriamente usted obtuvo una bola %sn' % azar)
if azar == 'BLANCA':
print('LO SENTIMOS. Desafortunatamente no ha obtenido ningun descuenton')
else:
total = valor - (valor * descuento / 100)print('Felicidades, ha ganado un %d por ciento de descuenton' % descuento)
print('Su nuevo total a pagar es: $%fn' % total)continua = True
while continua:
clear_screen()compra = dame_datos()
calcula_descuento(compra)
continua = input('Si desea salir presione 1 o de lo contrario pesione otra tecla: ')
if continua == '1':
continua = False-
No puedo probar todos los codigos, pero si funcionan ""Felicitaciones"". Saludos
-
-
Para el ejercicio 1:
import random
def main():
cantidad = input('nINTRODUZCA LA CANTIDAD TOTAL DE LA COMPRA: ')
if cantidad >= 100:
print 'nSU GASTO IGUALA O SUPERA LOS 100.00 Y POR TANTO PARTICIPA EN LA PROMOCION'
aleatorio = random.randint(0,4)
diccionario = {'BLANCA':'No hay descuento', 'ROJA':10, 'AZUL':20, 'VERDE':25, 'AMARILLA':30}
listaK = diccionario.keys()
listaV = diccionario.values()
if aleatorio == 0:
print 'n¡¡MALA SUERTE!! LA BOLA BLANCA NO TIENE DESCUENTO'
else:
descuento = listaV[aleatorio]
bola = listaK[aleatorio]
print 'nHA SACADO LA BOLA %s, POR TANTO HA OBTENIDO UN %d%% DE DESCUENTO!!' %(bola, descuento)
calculo = cantidad - (cantidad*descuento)/100
print 'nLA NUEVA CANTIDAD QUE DEBE PAGAR ES %d €n' %calculo
else:
print 'nNO PUEDE PARTICIPAR EN EL SORTEO YA QUE SU GASTO ES MENOR QUE 100n'main()
-
Buen trabajo Jaime. Gracias por visitar el blog.
Saludos
-
-
#! /usr/bin/env python
# -*- coding: utf-8 -*-from random import choice
def principal():
parametro = 100
dic_bolas = {"Blanca" : "No tiene", "Roja": 10,"Azul":20,"Verde":25,"Amarillo":50}Compra = raw_input("Introduzca la Cantidad Total de la compra: n")
if int(Compra) >= parametro:
Random_dato = choice(dic_bolas.keys())
print "n Su gasto es igual o superior a los ", parametro, " $ por lo que ha ingresado a la promocion"
print " n Color Descuento n n"for x,y in dic_bolas.iteritems():
print "Bola ",x," ", y," ", "Por Ciento" if str(y).isdigit() else ""
print "n Aleatoriamente usted obtuvo una bola ", Random_dato
Random_dato_value = dic_bolas[Random_dato]
if str(Random_dato_value).isdigit():
print "n Felicidades, Ha ganado un descuento del %r Por Ciento" %(Random_dato_value)
print "n Su nuevo total a pagar es: $ %r" % (int(Compra) * float(100 - Random_dato_value)/100)else:
print "n Lamentablemente le toco la bola ", Random_dato, " , La misma no posee promoción alguna"
else:
print "Su monto de compra de ", Compra, " no alcanza para entrar en ninguna promociónn"
answer = raw_input("Desea reevaluar el monto de su compra?, Conteste con si o no n")
if answer.lower() == "si":
principal()
else:
print "Adios, Vuelva Prontos!!"
exitprincipal()
-
Aca va el segundo
def principal():
list_compras_totales =[]
list_bolas =[["Camisa",20],["Cinturon",100],["Zapato",40],["Pantalon",30],["Calcetines",10]]
Starter(list_bolas)while Continue(len(list_compras_totales)):
list_compras_totales.append(Get_buy(list_bolas))print "El total a pagar es: $", P_final(list_compras_totales,list_bolas)
def P_final(lista,BD):
suma = 0for x in range(len(lista)):
suma += BD[lista[x][0]][1] * lista[x][1]return suma
def Continue(compras):
if compras == 0:
return Trueanswer = raw_input("n SI YA TERMINO DE REALIZAR SUS COMPRAS, ESCRIBA 'TERMINE', DE LO CONTRARIO ELEGIRA EL SIGUIENTE PRODUCTO: ").lower()
if answer != "termine":
print "n VAMOS A SELECCIONAR EL PROXIMO ITEM"
return True
else:
return Falsedef Get_buy(lista):
eleccion = int(raw_input("n INTRODUZCA EL CODIGO: "))
print "n EL PRECIO ES $%r" % lista[eleccion-1][1]
cantidad = int(raw_input("n INTRODUZCA EL NUMERO DE UNIDADES A COMPRAR: "))
return (eleccion-1,cantidad)def Starter(lista):
counter = 0
print "n ELIJA EL PROUCTO DESEADO:n "for x in lista:
counter +=1
print x[0],(60-len(x[0]))* "-",counterprincipal()
-
Buenos códigos Lucas, gracias por visitar y participar en el blog. Saludos
-
-
### codigo de renta de peliculas
print "renta de peliculas"
print " Categoria Precio Codigo Dia de Retraso"
print ""
print " Favoritos $2.50 1 $0.50"
print " Nuevos $3.00 2 $0.75"
print " Estrenos $3.50 3 $1.00"
print " SuperEstrenos $4.00 4 $1.50"
class Peliculas:
def inventario(self, var):
self.var = var
while self.var < 1 or self.var > 4:
print "escoga numero de codigo correcto",
self.var = int(input(",intentelo de nuevo: "))
peliculas = {1:2.50, 2:3.00, 3:3.50, 4:4.00}
total = peliculas[self.var]
diasR = {1:0.50, 2:0.75, 3:1.00, 4:1.50}
dias = int(input("ingrese el numero de dias de retraso: "))
for x in range(dias):
total += diasR[self.var]
print "sus dias de retraso fueron:", dias, "el total a pagar es:", total, "$"total = Peliculas()
print ""
var = int(input("escoga una categoria por su codigo: "))
total.inventario(var)-
Excelente Nelson, luego lo pruebo!!! Saludos
-
-
Este es mi código del primer ejercicio:
_______________________________________import random, time, os
def promocion(dinero):
--- if dinero < 100:
------ print "SU GASTO NO SUPERA LOS 100 DOLARES Y POR TANTO NO PARTICIPA EN LA PROMOCION"
--- else:
------ print "SU GASTO SUPERA LOS 100 DOLARES Y POR TANTO PARTICIPA EN LA PROMOCION"
------ print ""
------ print "BOLA BLANCA = NO DESCUENTO"
------ print "BOLA ROJA = DESCUENTO 10%"
------ print "BOLA AZUL = DESUCENTO 20%"
------ print "BOLA VERDE = DESCUENTO 25%"
------ print "BOLA AMARILLA = DESCUENTO 50%"
------ print ""
def descuento(bola, dinero):
--- if dinero >= 100:
------ print "SACANDO BOLA . . ."
------ time.sleep(5)
------ print "HA SACADO . . ."
------ time.sleep(3)
------ print ""
------ if bola == 0:
--------- print "MALA SUERTE, HA SACADO UNA BOLA BLANCA"
--------- print "NO TIENE NINGUN DESCUENTO, POR TANTO TIENE QUE PAGAR $", dinero
------ elif bola == 1:
--------- nuevo_dinero = dinero - (dinero * 0.10)
--------- print "FELICIDADES, HA SACADO UNA BOLA ROJA"
--------- print "SU NUEVO TOTAL A PAGAR ES $", nuevo_dinero
------ elif bola == 2:
--------- nuevo_dinero = dinero - (dinero * 0.20)
--------- print "FELICIDADES, HA SACADO UNA BOLA AZUL"
--------- print "SU NUEVO TOTAL A PAGAR ES $", nuevo_dinero
------ elif bola == 3:
--------- nuevo_dinero = dinero - (dinero * 0.25)
--------- print "FELICIDADES, HA SACADO UNA BOLA VERDE"
--------- print "SU NUEVO TOTAL A PAGAR ES $", nuevo_dinero
------ else:
--------- nuevo_dinero = dinero - (dinero * 0.50)
--------- print "FELICIDADES, HA SACADO UNA BOLA AMARILLA"
--------- print "SU NUEVO TOTAL A PAGAR ES $", nuevo_dinero
while True:
--- cantidad = float(raw_input("INTRUDUZCA LA CANTIDAD TOTAL DE LA COMPRA: "))
--- color = random.randint(0,5)
--- promocion(cantidad)
--- descuento(color, cantidad)
--- print ""
--- breaker = int(raw_input("SI DESEA SALIR PRESIONE 1, SI NO LO DESEA ASI PRESIONE OTRO NUMERO: "))
--- if breaker == 1:
------ break
--- else:
------ os.system("clear")_______________________________________
Si usan Windows, solo cambian el "clear" de la ultima línea por "cls", si usan Linux así lo dejan 🙂Sangría o Tabulado de ---
-
Excelente. Saludos
-
Aquí dejo mi solución del primer problema.
#!/usr/bin/python
# -* coding: utf-8 -*-import random
import sysdef get_ticket(amount, tickets):
""" Obtains a ticket """
if amount <= 99:
return ('discount not applicable'), False
else:
ticket_names = list(tickets.keys())
random_discount = random.choice(ticket_names)
return (random_discount), Truedef get_discount(amount, percentage):
""" obtains a discount percentage """
discount = (amount * percentage) / 100
return discountdef applicate_discount(amount, discount):
""" applicate a discount to amount and return it """
result = amount - discount
result = int(result)
return resulttickets = {
'white':0,
'red':5,
'yellow':15,
'green':25,
'blue': 50
}for ticket,percentage in tickets.items():
print(f'if the color ticket is {ticket} you have a discount of'
f' {percentage} percentn')purchases_amount = input('enter your purchases amount: '.title())
purchases_amount = int(purchases_amount)returned_ticket = get_ticket(purchases_amount, tickets)
if returned_ticket[1]:
percentage_to_discount = tickets[returned_ticket[0]]
if percentage_to_discount == 0:
print("The white ticket can't applicate a discount.")
sys.exit()
else:
discount = get_discount(purchases_amount, percentage_to_discount)
new_purchases_amount = applicate_discount(purchases_amount, discount)
print('Your new amount to pay is %i' % int(new_purchases_amount))
else:
print(returned_ticket[0])
sys.exit()
-
-
Buenas noches,
Envio mi codigo del primer ejercicio:
import random
def aplicar_descuento(total_compras):
digitos = (1,2,3,4,5)
bola = random.choice(digitos)
if bola == 1:
print("Aleatoriamente obtuvo la bola Blanca")
print("Lo siento....! no tiene descuento en su compra")
elif bola == 2:
desc = float(total_compras) * 0.10
nuevo_total = float(total_compras) - desc
print("Aleatoriamente usted obtuvo la Bola Roja ")
print("Felicidades!!, se ha ganado un 10% de descuento!")
print("Su nuevo total a pagar es", nuevo_total)
elif bola == 3:
desc = float(total_compras) * 0.20
nuevo_total = float(total_compras) - desc
print("Aleatoriamente usted obtuvo la bola Azul ")
print("Felicidades!!, se ha ganado un 20% de descuento!")
print("Su nuevo total a pagar es", nuevo_total)
elif bola == 4:
desc = float(total_compras) * 0.25
nuevo_total = float(total_compras) - desc
print("Aleatoriamente usted obtuvo la bola Verde ")
print("Felicidades!!, se ha ganado un 25% de descuento!")
print("Su nuevo total a pagar es", nuevo_total)
else:
desc = float(total_compras) * 0.50
nuevo_total = float(total_compras) - desc
print("Aleatoriamente usted obtuvo la bola Amarilla ")
print("Felicidades!!, se ha ganado un 50% de descuento!")
print("Su nuevo total a pagar es", nuevo_total)def main():
while True:
total_compras = input("introduzca el total de las compras(Presione * si desea salir): ")
if total_compras == '*':
print("Adios")
break
elif int(total_compras) > 100:
print("ttSu compra es Mayor a 100 aplica para nuestros sorteo")
print("ttttBola Blanca ---> No tiene Descuento")
print("ttttBola Roja ---> 10% de Descuento")
print("ttttBola Azul ---> 20% de Descuento")
print("ttttBola Verde ---> 25% de Descuento")
print("ttttBola Amarilla ---> 50% de Descuento")
aplicar_descuento(total_compras)
else:
print("Lo sentimos sus compras son menores a 100.....No aplica para nuestro sorteo")main()
-
Este comentario ha sido eliminado por el autor.
-
Mi propuesta para el ejercicio 1:
import random
def bolitas(valor1):
cantidad=valor1
salida=0
pregunta=""while salida==0:
if cantidad<100:
print("Ud no tiene derecho al sorteo, tiene que gastar más de 100€")
else:
premios={"BLANCA":0, "VERDE":10, "NARANJA":20, "ROJA":25, "NEGRA":50}
bola=random.choice(["BLANCA", "VERDE", "NARANJA", "ROJA", "NEGRA"])
premio=premios[bola]
precio_total=cantidad-(cantidad*(premio/100))print("")
print("")
print("")
print("SU GASTO IGUALA O SUPERA LOS 100, TIENE DERECHO A LA PROMOCIÓN")print(" COLOR DESCUENTO")
print(" -------------------------------------------")
print("")
print(" BOLA BLANCA NO TIENE")
print(" BOLA VERDE 10%")
print(" BOLA NARANJA 20%")
print(" BOLA ROJA 25%")
print(" BOLA NEGRA 50%")
print("")
print("ALEATORIAMENTE UD OBTUVO LA BOLA", bola)
print("")
print("FELICIDADES, OBTUVO UN ", premio, "POR CIENTO DE DESCUENTO")
print("")
print("SU NUEVO TOTAL A PAGAR ES:",precio_total)print("ESTE CLIENTE HA TERMINADO, ¿DESEA ATENDER A OTRO CLIENTE? S/N")
pregunta=input().upper()if pregunta=="N" or pregunta=="NO":
salida=1bolitas(int(input("INTRODUZCA LA CANTIDAD QUE HA COMPRADO EL CLIENTE: ")))
-
El resultado del 2 sería...
import os
productos={
1:"CAMISA",
2:"CINTURÓN",
3:"ZAPATOS",
4:"PANTALÓN",
5:"CALCETINES",
6:"FALDA",
7:"GORRA",
8:"SUETER",
9:"CORBATA",
10:"CHAQUETA"}precio={
"CAMISA":30,
"CINTURÓN":20,
"ZAPATOS":25,
"PANTALÓN":30,
"CALCETINES":10,
"FALDA":40,
"GORRA":20,
"SUETER":35,
"CORBATA":25,
"CHAQUETA":50}def compritas():
codigo=1
cuenta=0
pregunta=0while True:
while True:
print ("ELIJA EL PRODUCTO DESEADO:nn")
print(("PRODUCTO CÓDIGO").expandtabs(40))
print(("----------------------------------------------n"))for i in range(1,len(productos)+1):
print(productos[i],(" ").expandtabs((40-len(productos[i]))), i)eleccion=int(input("nINTRODUZCA EL CÓDIGO DEL PRODUCTO: "))
if eleccion>len(productos):
print("----------------------------------nLO LAMENTAMOS, EL ARTÍCULO NO EXISTE...n----------------------------------")
else:
breakprint("nEL PRECIO DEL ARTÍCULO ES: ", precio[productos[eleccion]], "EUROS")
cantidad=int(input("nINTRODUZCA CUANTOS ARTÍCULOS NECESITA: "))
print("EL TOTAL A PAGAR ES ", precio[productos[eleccion]]*cantidad, "euros.")
cuenta+=precio[productos[eleccion]]*cantidadprint("nSU CUENTA ASCIENDE A", cuenta, "EUROS")
pregunta=input("SI DESEA DEJAR DE COMPRAR PULSE 1, DE LO CONTRARIO PULSE OTRO NÚMERO ")if pregunta=="1":
break
os.system('cls')compritas()
-
Y con esto concluyo esta batería de ejercicios, como siempre muchísimas gracias por ellos.
def videoclub():
categorias={1:"FAVORITOS",2:"NUEVOS",3:"ESTRENOS", 4:"SUPER ESTRENOS"}
precios={1:2.50, 2:3.00, 3:3.50, 4:4.00}
recargo={1:0.50, 2:0.75, 3:1.00, 4:1.50}while True:
print(("CATEGORIA PRECIO CÓDIGO RECARGO/DIA DE RETRASO").expandtabs(32))
print("-----------------------------------------------------------------------------------------------------------------------")
for i in range(1,len(categorias)+1):
print(categorias[i],
(" ").expandtabs(30-len(categorias[i])),
"€",precios[i]," ".expandtabs(28), i, " ".expandtabs(36), "€", recargo[i])while True:
codigo=int(input("nnINTRODUZCA EL CÓDIGO DE LA CATEGORÍA DE LA PELÍCULA: "))
if codigo>0 and codigo<len(categorias)+1:
breakdias=int(input("INTRODUZCA EL NÚMERO DE DÍAS DE RETRASO EN LA DEVOLUCIÓN: "))
print("EL TOTAL A PAGAR ES: ", precios[codigo]+(recargo[codigo]*dias), "DOLARES.")
pregunta=input("SI DESEA SALIR PULSE 1 SI DESEA CONTINUAR PULSE CUALQUIER OTRA LETRA ")
if pregunta=="1":
breakvideoclub()
-
pues a mi me parece que asi queda mas facil y presentable que en la solucion.
import random
tortilla='1'
while tortilla=='1':
pago=int(input('INTRODUZCA LA CANTIDAD TOTAL DE LA COMPRA '))
if pago>=100.00:
print('SU GASTO IGUALA O SUPERA LOS 100$, POR LO TANTO PARTICIPA EN LA PROMOCIONnn COLOR DESCUENTOnn BLANCO NADAn AMARILLO 10%n VERDE 20%n ROJO 25%n AZUL 50%')
color=random.randint(1,5)
if color==1:
color=['AMARILLO',90]
elif color==2:
color=['BLANCO',100]
elif color==3:
color=['ROJO',75]
elif color==4:
color=['VERDE',80]
else:
color=['AZUL',50]
if color[0] !='BLANCO':
print('ALEATORIAMENTE USTED OBTUVO EL',color[0],'nFELICIDADES, HA GANADO UN',100-color[1],'POR CIENTO DE DESCUENTOnSU NUEVO TOTAL A PAGAR ES: $',pago*color[1]/100)
else:
print('ALEATORIAMENTE USTED OBTUVO EL',color[0],'nQUE MALA SUERTE! NO OBTUVO NI UN POR CIENTO DE DESCUENTOnSU TOTAL A PAGAR ES: $',pago)
else:
print('SU COMPRA TIENE QUE SUPERAR LOS 100 DOLLARES')
tortilla=input('SI DESEA CONTINUAR PRESIONE 1, DE LO CONTRARIO PRESIONE CUALQUIER OTRA COSA') -
Buenas noches.¿Alguna solución para este ejercicio?
Dada una lista de números enteros, escribir una función que:
a) Devuelva una lista con todos los que sean primos.
b) Devuelva la sumatoria y el promedio de los valores.
c) Devuelva una lista con el factorial de cada uno de esos números.Gracias.
-
SOLUCIÓN CORRESPONDIENTE AL EJERCICIO 02 :
class venta():
print("BIENVENIDO A SU TIENDA PREFERIDA")
print("")
print("###*LISTA DE PRODUCTOS*####")
print("")
total=0
productos=[[1,'Lapicero',1],[2,'Cuaderno',5],[3,'Zapato',40],[4,'Camisa',25],[5,'Pijama',97],[6,'Medias',5],[7,'Brazier',40],[8,'Calzon',25]]def listar_productos(self):
print("CODIGO NOMBRE PRECIO")
for n in self.productos:
print(n)
print("")
cliente = input("INTRODUZCA SU NOMBRE : ")
def seleccionar_producto(self):
global codigo
global precio
global nombre
global unidad
global subtotalcodigo = int(input("INTRODUZCA EL CODIGO DEL PRODUCTO : "))
precio = self.productos[codigo-1][2]
nombre = self.productos[codigo-1][1]
unidad = int(input("INTRODUZCA LA CANTIDAD : "))
subtotal = unidad*precio
self.total+=subtotal
producto = [codigo,nombre,precio,unidad,subtotal]
producto=str(producto)file = open("libros.txt","a")
file.write(producto+"n")
file.close()print("")
print("CODIGO NOMBRE PRE_UNI UNIDAD SUBTOTAL")
print("")
print("{} {} {} {} {}".format(codigo,nombre,precio,unidad,subtotal))
print("")
print("DESEA AGREGAR MAS PRODUCTOS : ")
print("1:SI")
print("2:NO ")
opcion=int(input(" : "))
if opcion==1:
self.seleccionar_producto()
elif opcion==2:
file = open("libros.txt", "r")
productos=file.read()
# print(productos)
file.close()print("")
print("########*FACTURA ELECTRONICA*###########")
print("")
print("CLIENTE : {}".format(self.cliente))
print("")
print("########*PRODUCTOS COMPRADOS*###########")
print("")
print("CODIGO/NOMBRE/PRECIO/CANTIDAD/SUBTOTAL")
print("")
print(productos)
print("")
print("TOTAL A PAGAR ES {} ".format(self.total))def guardar(self):
producto = [codigo,nombre,precio,unidad,subtotal]
producto=str(producto)file = open("libros.txt","a")
file.write(producto+"n")
file.close()v_f=venta()
v_f.listar_productos()
v_f.seleccionar_producto()Espero los feedbacks muchachos-!!
-
#Parte-1 del Ejercicio2.
def menuProductos(articulos):
----system('clear')
----if articulos == "Tienda":
--------lista = arTienda
--------titulo = "ELIJA EL PRODUCTO DESEADO:"
--------lineas = ["METER UN NUEVO CODIGO-N", "TERMINAR COMPRA-T"]
----else:
--------lista = arNuevos
--------titulo = "ELIJA EL PRODUCTO A AÑADIR:"
--------lineas = ["SALIR SIN AÑADIR PRODUCTO-S"]
----print("n" + " "*20 + titulo + "n")
----print(" "*20 + "PRODUCTO" + " "*31 + "CODIGO")
----for l in range(len(lista)):
--------print(" "*20 + (lista[l][0] + "-"*40)[:40] + " " + str(lista[l][1]))
----print()
----for x in range(len(lineas)):
--------print(" "*20 + (lineas[x][:-2] + "-"*40)[:40] + " " + lineas[x][-1])
----print()def filtroEntradasCodigo(articulos, codigo):
----if articulos == "Tienda":
--------if not codigo.isdecimal():
------------if codigo.upper() != "N" and codigo.upper() != "T":
----------------print("n-----> Codigo NO Permitido. Solo se Permiten Números. Excepto: 'N' y 'T'.")
----------------input("Pulsa Enter para continuar...")
----------------return False
--------else:
------------if int(codigo) < 1 or int(codigo) > len(arTienda):
----------------print("n-----> Codigo NO Permitido. Esta fuera del Rango de Codigos; de 1 a", len(arTienda))
----------------input("Pulsa Enter para continuar...")
----------------return False
--------return True
----elif articulos == "Nuevos":
--------if not codigo.isdecimal():
------------if codigo.upper() != "S":
----------------print("n-----> Codigo NO Permitido. Solo se Permiten Números. Excepto: 'S'.")
----------------input("Pulsa Enter para continuar...")
----------------return False
--------else:
------------if int(codigo) < 1 or int(codigo) > len(arNuevos):
----------------print("n-----> Codigo NO Permitido. Esta fuera del Rango de Codigos; de 1 a", len(arNuevos))
----------------input("Pulsa Enter para continuar...")
----------------return False
--------return True
----else:
--------if not codigo.isdecimal():
------------print("n-----> En Unidades del Producto, Solo se Permiten Números.")
------------input("Pulsa Enter para continuar...")
------------return False
--------else:
------------if int(codigo) < 1 or int(codigo) > 15:
----------------print("n-----> Unidades del Producto esta fuera del Rango Permitido; de 1 a 15.")
----------------input("Pulsa Enter para continuar...")
----------------return False
--------return True -
#Parte-2 del Ejercicio2.
from os import system
arTienda = [["CAMISA",1,22],["CINTURON",2,10],["ZAPATOS",3,14],["PANTALON",4,28]]
arNuevos = [["CALCETINES",1,11],["FALDAS",2,27],["GORRAS",3,12],["SUETER",4,26],["CORBATA",5,13],["CHAQUETA",6,32]]
while True:
----menuProductos("Tienda")
----codigo = input(" "*20 + "INTRODUZCA CODIGO: ")
----if not filtroEntradasCodigo("Tienda", codigo): continue
----else: break
while True:
----if codigo.upper() == "N":
--------menuProductos("Nuevos")
--------codigo = input(" "*20 + "INTRODUZCA CODIGO: ")
--------if not filtroEntradasCodigo("Nuevos", codigo):
------------codigo = "N"
------------continue
--------if codigo.upper() != "S":
------------codigo = int(codigo) - 1
------------arTienda.append([arNuevos[codigo][0],arNuevos[codigo][1],arNuevos[codigo][2]])
------------arTienda[-1][1] = arTienda[-2][1] + 1
------------arNuevos.pop(codigo)
------------for x in range(codigo, len(arNuevos)):
----------------arNuevos[x][1] = x + 1
--------while True:
------------menuProductos("Tienda")
------------codigo = input(" "*20 + "INTRODUZCA CODIGO: ")
------------if not filtroEntradasCodigo("Tienda", codigo): continue
------------else: break
--------continue
----elif codigo.upper() == "T":
--------print("nPrograma Terminado.")
--------break
----else:
--------codigo = int(codigo) - 1
--------while True:
------------print("n" + " "*20 + "EL PRECIO ES: $" + str(arTienda[codigo][2]))
------------unidades = input(" "*20 + "INTRODUZCA NUMERO DE UNIDADES. (Entre 1 y 15): ")
------------if not filtroEntradasCodigo("Unidades", unidades):
----------------menuProductos("Tienda")
----------------print(" "*20 + "INTRODUZCA CODIGO: " + str(codigo+1))
----------------continue
------------else: break
--------print("n" + " "*20 + "EL TOTAL A PAGAR DEL PRODUCTO ES: $" + str(arTienda[codigo][2]*int(unidades)))
--------if input("n------> Deseas Elegir más Productos? (Enter=Si OtrasTeclas=No): ") == "":
------------while True:
----------------menuProductos("Tienda")
----------------codigo = input(" "*20 + "INTRODUZCA CODIGO: ")
----------------if not filtroEntradasCodigo("Tienda", codigo): continue
----------------else: break
------------continue
--------break -
Hola Diego, me presento, soy un jubilado aficionado a la programación, con un nivel, creo yo, medio bajo.
Darte mis felicitaciones por el blog, es fantástico y ademas con un montón de ejercicios.
Te voy a mandar mi solución al Ejercicio-2 que me ha parecido curioso y me ha picado la curiosidad meterle mano.
Lo he tenido que mandar en dos parte, se me ha alargado un poco,, es que he puesto validación de entradas y también poder
añadir más productos nuevos. -
Complicado pero se pudo 😉
#Ejercicio 1
#Este programa pide primeramente la cantidad total de compras de una persona. Si la cantidad es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción. Pero si la persona ingresa una cantidad en compras igual o superior a $100.00, el programa genera de forma aleatoria un número entero del cero al cinco. Cada número corresponderá a un color diferente de cinco colores de bolas que hay para determinar el descuento que el cliente recibirá como premio. Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de los otros cuatro colores, sí se aplicará un descuento determinado según la tabla que aparecerá, y ese descuento se aplicará sobre el total de compra que introdujo inicialmente el usuario, de manera que el programa mostrará un nuevo valor a pagar luego de haber aplicado el descuento.import random
def main():
precio_total = float(input("Ingrese la cantidad total que ha efectuado en la compra:"))
if precio_total >= 100:
print("Su gasto es igual o superior a S/100.00 Y por tanto participa en la promoción de Bola Magica")
print("")print("tt COLORttt DESCUENTO")
print("")
print("ttBOLA BLANCAtttNO TIENE")
print("ttBOLA ROJAttt10 POR CIENTO")
print("ttBOLA AZULttt20 POR CIENTO")
print("ttBOLA VERDEttt25 POR CIENTO")
print("ttBOLA AMARILLAttt50 POR CIENTO")
print("")bola_magica(precio_total)
else:
print("")
print("El cliente no aplica a la promocion")
print("*******************************************")
print("Gracias por su compra")
print("*******************************************")def bola_magica(precio):
bola = random.randint (1, 5)
if bola == 1:
print("Aleatoriamente usted obtuvo una BOLA BLANCA")
print("")
print("Por lo tanto no accede a descuento")elif bola ==2:
print("Aleatoriamente usted obtuvo una BOLA ROJA")
print("")
nuevo_precio = precio * 0.9
print("Felicidades Ha ganado un 10 por ciento de descuento")
print("")
print("Su nuevo total a pagar es: {}".format(nuevo_precio))elif bola ==3:
print("Aleatoriamente usted obtuvo una BOLA AZUL")
nuevo_precio = precio * 0.8
print("")
print("Felicidades Ha ganado un 20 por ciento de descuento")
print("")
print("Su nuevo total a pagar es: {}".format(nuevo_precio))elif bola ==4:
print("Aleatoriamente usted obtuvo una BOLA VERDE")
nuevo_precio = precio * 0.75
print("")
print("Felicidades Ha ganado un 25 por ciento de descuento")
print("")
print("Su nuevo total a pagar es: {}".format(nuevo_precio))elif bola ==5:
print("Aleatoriamente usted obtuvo una BOLA AMARILLA")
nuevo_precio = precio * 0.5
print("")
print("Felicidades Ha ganado un 50 por ciento de descuento")
print("")
print("Su nuevo total a pagar es: {}".format(nuevo_precio))print("")
de_nuevo = int(input("Si desea salir ingrese 1 o de lo contrario ingrese otro numero: "))
if de_nuevo == 1:
print("")
print("")
print("")
print("")main()
else:
print("*******************************************")
print("Gracias por su compra")
print("*******************************************")main()
-
#Ejercicio 2
#De la galería de productos, el usuario introducirá el código y el número de unidades del producto que desea comprar. El programa determinará el total a pagar, como una factura.
#Una variante a este ejercicio que lo haría un poco más complejo sería dar la posibilidad de seguir ingresando diferentes códigos de productos con sus respectivas cantidades, y cuando el usuario desee terminar el cálculo de la factura completa con todas sus compras. Te animas??def main():
print("")
print("tElija el Producto deseado:")
print("")
print("tPRODUCTOttt CODIGO")
print("")
print("tCamisa..............................1")
print("tCinturon............................2")
print("tZapatos.............................3")
print("tPantalon............................4")
print("tCalcetines..........................5")
print("tFaldas..............................6")
print("tGorras..............................7")
print("tSueter..............................8")
print("tCorbata.............................9")
print("tChaqueta............................10")
print("")
comprar()def comprar():
codigo = int(input("tIntroduzca el código, el cual quiera comprar: "))
print("")if codigo == 1:
precio = 50elif codigo == 2:
precio = 10elif codigo == 3:
precio = 150elif codigo == 4:
precio = 60elif codigo == 5:
precio = 5elif codigo == 6:
precio = 25elif codigo == 7:
precio = 30elif codigo == 8:
precio = 70elif codigo == 9:
precio = 25elif codigo == 10:
precio = 110else:
print("tSe ha introducido mal el código. intente nuevamente")
comprar()print("")
print("tEl precio es: S/{}".format(precio))
cantidad = int(input("tIntroduzca Cuantas unidades desea comprar: "))precio_total = precio * cantidad
print("")
print("tEl total a pagar es de S/.{}".format(precio_total))print("")
print("t*******************************************")
print("tGracias por su compra")
print("t*******************************************")main()
-
#Ejercicio 3
#Este programa muestra primero el listado de categorías de películas y pide al usuario que introduzca el código de la categoría de la película y posterior a ello pide que el usuario introduzca el número de días de atraso, y así se muestra al final el total a pagar.def main():
print("")
print("tCATEGORIAt PRECIOttCODIGOttRECARGO/DIA DE ATRASO")
print("")
print("tFavoritostS/2.50tt 1tttS/0.5")
print("tNuevosttS/3.00tt 2tttS/0.75")
print("tEstrenostS/3.50tt 3tttS/1.00")
print("tSuper EstrenostS/4.00tt 4tttS/1.50")
print("")codigo = int(input("Inserte el código de la categoría de la pelicula: "))
print("")
dias = int(input("Introduzca los días de atraso en la devolvución: "))
print("")if codigo == 1:
precio = 2.5 + (dias * 0.5)
print("El total a pagar es de S/.{}".format(precio))elif codigo == 2:
precio = 3 + (dias * 0.75)
print("El total a pagar es de S/.{}".format(precio))elif codigo == 3:
precio = 3.5 + (dias * 1)
print("El total a pagar es de S/.{}".format(precio))elif codigo == 4:
precio = 4 + (dias * 1.50)
print("El total a pagar es de S/.{}".format(precio))else:
print("Ha introducido mal el códigonPor favor intentelo nuevamente")
print("")
print("")
print("")
print("")
main()main()
print("")
de_nuevo = int(input("Si desea continuar ingrese 1 o de lo contrario ingrese otro numero: "))if de_nuevo == 1:
print("")
print("")
print("")
print("")main()
else:
print("*******************************************")
print("Gracias por utiliuzar el programa")
print("*******************************************") -
Buenas tardes quien puede ayudarme con este ejercicio de Python q ya no meda la cabeza:
Realizar un programa en el lenguaje Python que permita calcular el total a pagar
por cinco 5 artículos.
Sí el total de la venta es mayor a Bs. 1.000.000,00 se le concede un descuento del 10%,
sí es inferior el descuento será de 5%.
Mostrar un mensaje con el total de la venta, el porcentaje de descuento y el monto a pagar.
-
"Esta es una forma muy sencilla de analizar"
import random
band = 1
while band == 1:
total_compras = int(input("nIngrese el monto total de las compras: "))
if total_compras < 100:
print("nNo participa para promocion de descuento")
band = int(input("nSi desea realizar uno nuevo presione 1 caso contrario cualquier numero: "))
else:
bola = random.randint(0,4)
if bola == 0:
print("nAleatoriamente obtuvo bola blanca, no aplica para descuento.")if bola == 1:
print("nAleatoriamente obtuvo bola roja")
print("Felicidades obtuvo 10% de descuento")
descuento = total_compras * 0.10
total = total_compras - descuento
print("Su nuevo total a pagar es:",total)if bola == 2:
print("nAleatoriamente obtuvo bola azul")
print("Felicidades obtuvo 20% de descuento")
descuento = total_compras * 0.20
total = total_compras - descuento
print("Su nuevo total a pagar es:",total)if bola == 3:
print("nAleatoriamente obtuvo bola verde")
print("Felicidades obtuvo 25% de descuento")
descuento = total_compras * 0.25
total = total_compras - descuento
print("Su nuevo total a pagar es:",total)if bola == 4:
print("nAleatoriamente obtuvo bola amarilla")
print("Felicidades obtuvo 50% de descuento")
descuento = total_compras * 0.50
total = total_compras - descuento
print("Su nuevo total a pagar es:",total)band = int(input("nSi desea realizar uno nuevo presione 1 caso contrario cualquier numero: "))
print("nHasta luego")
-
Soy nuevo en la programación y en el ejercicio 3 hice esto:
print("Categoria Precio Codigo Reacargo/dia de atraso")
print("Favoritos 2.50 1 $0.50")
print("Nuevos 3.00 2 $0.75")
print("Estrenos 3.50 3 $1.00")
print("Super estrenos 4.00 4 $1.50")
print("")
codigo = int(input("Introduce el codigo de la categoria de la pelicula: "))
dias = int(input("Introduce el numero de dias de atraso en la devolucion: "))
codigo in range(1,4)
print("")
if(codigo > 4):
print("Porfavor, introduce un codigo correcto, del 1 al 4")
else:
if(codigo==1):
retraso = (2.50 + (dias * 0.5))
print("El total a pagar es: $",retraso," dolares")
elif(codigo==2):
retraso = (3 + (dias * 0.75))
print("El total a pagar es: $",retraso," dolares")
elif(codigo==3):
retraso = (3.50 + (dias))
print("El total a pagar es: $",retraso," dolares")
else:
retraso = (4 + (dias * 1.5))
print("El total a pagar es: $",retraso," dolares")
Deja una respuesta
El primero ...
import random
def main():
cantidad = input('nINTRODUZCA LA CANTIDAD TOTAL DE LA COMPRA: ')
#creamos dicionarios con los colores y valores de los descuentos
descuentos = {"BLANCA":"NO TIENE" , "ROJA": 10, "AZUL": 20, "VERDE": 25, "AMARILLA": 30}
#verificamos si la cantidad es mayor de 100
if cantidad >= 100:
cabeza = ' COLOR DESCUENTOn'
print 'n', cabeza
#imprimir opciones
for key, value in descuentos.items():
resultado = ' BOLA '+str(key) + '..............' + str(value) + ' DESCUENTO'
print resultado
print "nSU GASTO IGUALA O SUPERA LOS $100.00 Y POR TANTO PARTICIPA EN LA PROMOCION."
#realizamos una lista con los colores de las bolas
bolas = []
for key in descuentos:
bolas += [key]
#realizamos el sorteo
bola = bolas[random.randrange(len(bolas))]
print "nALEATORIAMENTE USTED OBTUVO UNA BOLA", bola
#aplicamos el descuento segun el sorteo
if bola == 'BLANCA':
print "nNO TIENE DESCUENTOn"
else:
total = cantidad - (cantidad * (descuentos[bola]*.01))
print "nSU NUEVO TOTAL A PAGAR ES: $",total,'n'
else:
print "nNO PUEDE PARTICIPAR EN EL SORTEO YA QUE SU GASTO ES MENOR QUE 100n"
seguir()
def seguir():
#pregunatamos si quiere retornar
opcion = input('SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ')
if opcion == 1:
main()
else:
print "nHASTA LUEGO n"
main()