José Miguel Reyes
EstudianteIkal Esteban Fernández Galván
EstudianteOwen Enríquez
EstudianteGermán Corredor Celis
EstudianteNicolas Alpargatero
EstudianteEduardo Peña Ramos
EstudianteAnthony Ocampo
EstudianteCristian David Alvarado alba
EstudianteJosé Daniel Navarrete Díaz
EstudianteAndres Buelvas Diago
EstudianteAlvaro Lozano Rodríguez
EstudianteNicolás Morales Samaniego
EstudianteRubik Adams
EstudianteDavid Novella
EstudianteMisael Gomez
EstudianteJuvenal CH
EstudianteSandy Carolina Reyna Cama
EstudianteLuis Gonzalez
EstudianteDavid Molina
EstudianteJuan Ramón García Santabárbara
Company_adminEduardo Peña Ramos
EstudianteJuan Ramón García Santabárbara
Company_adminRobert Yesid Barrios Acendra
EstudianteCamilo Forero
EstudianteGermán Corredor Celis
EstudianteTomás Valencia
EstudianteJose Jhonatan Choque Araujo
EstudianteOtoniel Josue Sanchez Guerrero
EstudianteOtoniel Josue Sanchez Guerrero
EstudianteNicolas Segura Herrera
EstudianteFernando Lavao Orjuela
EstudianteDiego Cruz
Estudiante. . . . . . . . . .
def calculate_tip(bill_amount, tipPercentage): return round( ((bill_amount * tipPercentage)/ 100),2 )
No funciona el antispoiler
Este playground estuvo mucho mejor explicado que el anterior, aunque no sé si sea solo a mí, pero después de cometer un error se queda trabada la compilación, porque a pesar de que lo arregle ya no guarda los cambios, teniendo que refrescar toda la página para volver a intentarlo. Como consejo, hagan primero la prueba en su propio editor de código y ya después solo lo pegan.
si, termina siendo mejor darse cabezazos con el python local que tratar de entender el playgroud... gracias por el tip
Es mejor refrescar la página si se ejecuta con otro código, como que se rompe el Playground.
Correcto.
Mi aporte
def calculate_tip(bill_amount, tipPercentage): return round(bill_amount*(tipPercentage/100),2)
para que sirve el ,2?
Muchas veces mi código esta bien, sin embargo, no lo testea correctamente. Tengo que reiniciar el navegador para intentar nuevamente para lograr la prueba.
def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 return round(bill_amount * (tipPercentage / 100), 2) resultado = calculate_tip(100, 10) print(resultado) resultado = calculate_tip(1524.33, 25) print(resultado)
Me gustan los ejercicios que muestran el resultado.
. . . Estuve intentado ayer pero no concebía como se realizaban las pruebas.
Con mente más relajada resultó más rapido, también aproveché para aprender otro tema que no sabía eso de las imágenes webp. Ojalá allá una explicación más extensa para los no expertos.
Mientras mi resultado (Día 2 con retraso de una mañana) . .
soy no experta, agradecer[ia la explicaci[on
Para la persona que pidió explicación:
El código primero "transforma" los datos de entrada a un tipo "flotante" (osea con punto decimal).
Posteriormente divide la propina entre 100(que es la cantidad toda, ya que estas calculando porcentaje).
Luego solo se multiplica la cantidad de la cuenta por lo que te dio anteriormente y se "redondea" a 2 decimales.
def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 porcent = tipPercentage * 0.01 result: float = bill_amount * porcent result = round(result, 2) return result print(calculate_tip(1524.33, 25))
Tengo un reclamo, hay varias formas de resolver y me paso lo mismo en el anterior Playground
def calculate_tip(bill_amount,tip_percentage): if (bill_amount * tip_percentage)%100 == 0: calculate = (bill_amount * tip_percentage)//100 return calculate else : calculate = (bill_amount * tip_percentage)/100 return round(calculate,2) print (calculate_tip(100, 10)) print(calculate_tip(1524.33, 25))
def calculate_tip(bill_amount, tip_percentage): tip = bill_amount * (tip_percentage / 100) #tip_percentage / 100 = Convierte el porcentaje a valor decimal: return round(tip, 2) #con round redondeamos en 2 números nomás print(calculate_tip(100, 10)) # 10 print(calculate_tip(1524.33, 25)) # 381.08 print(calculate_tip(120, 10)) # 0.0
def calculate_tip(bill_amount, tipPercentage):
if bill_amount and tipPercentage > 0:
calculate = bill_amount * (tipPercentage / 100)
return round(calculate , 2)
else:
return "error"
ejemplo_1 = calculate_tip(100, 10)
print(ejemplo_1)
def calculate_tip(bill_amount, tipPercentage):
tip = bill_amount * (tipPercentage / 100)
return round(tip, 2)
response = calculate_tip(100, 10)
print(response)
OMG LOL
Buenos días, En el segundo reto me pasa lo mismo que en el primero. Aunque en la consola obtengo el resultado correcto. No consigo pasar las pruebas que me dan error... . . . Evitar SPOILER . . #Mi código es el siguiente: def calculate_tip(bill_amount, tipPercentage):
Tipos correctos
if type(bill_amount) == int: tipo_bill = "int" elif type(bill_amount) == float: tipo_bill = "float" else: return print("error de tipo en bill") if type(tipPercentage) == int: tipo_per = "int" elif type(tipPercentage) == float: tipo_per = "float" else: return print("error de tipo en porcentaje") if bill_amount >= 0 and tipPercentage >= 0: return print(round(bill_amount * tipPercentage /100,2)) else: return print('Los valores no pueden ser negativos')
calculate_tip(100, 10) calculate_tip(1524.33, 25) calculate_tip(123.01, -1) calculate_tip('100','cinco')
¿Por qué no pasa las pruebas? En la consola funciona...¿?
El test espera valores flotantes con decimal, tú estás imprimiendo el resultado (cadena de caracteres). Aunque pueden parecer lo mismo en pantalla, no tienen nada que ver. Recuerda que las instrucciones dicen, literalmente:
La función deberá devolver el valor de la propina como un número.
En programación debemos ser extremadamente exactos, literales, con mentalidad muy lógica. Saludos, Juan.
Gracias por la respuesta
Si se me acaban los corazones, qué hago?
Reinicia la pagina
Igual puedes seguir ejecutando el codigo con el boton ejecutar y viendo los resultados de la consola (limpia la consola cada vez que vayas a hacer una nueva ejecución)
¿Para qué mencionar el comando round si no había necesidad de ser utilizado por el tipo de salidas que nos solicitaban?
def calculate_tip(bill_amount, tip_percentage): propina = (bill_amount)*(tip_percentage * 0.01) return round(propina, 2)
print(calculate_tip(200, 3))
Esto no se quita por si solo, sólo al darle a Cancelar. Raro eso ¬¬.
:)
Después de tanto liar con la consola de acá y que funcionara en vsCode, pasó. Choreto, pero pasó jaj.
Edit: Ahí lo acomodé para que dejara los 2 decimales
15%:
12%:
def calculate_tip(bill_amount, tipPercentage): # 1. Calculas la propina sin formatear tip = bill_amount * (tipPercentage / 100) # 2. Redondeas a dos decimales rounded_tip = round(tip, 2) # 3. Si tras redondear queda un número entero exacto (p. ej. 10.00 → 10.0) # devuelves un int. En cualquier otro caso, devuelves el float. if rounded_tip.is_integer(): return int(rounded_tip) return rounded_tip prueba = calculate_tip(5000000000, 2) print(prueba) ```def calculate\_tip(bill\_amount, tipPercentage): # 1. Calculas la propina sin formatear tip = bill\_amount \* (tipPercentage / 100) # 2. Redondeas a dos decimales rounded\_tip = round(tip, 2) # 3. Si tras redondear queda un número entero exacto (p. ej. 10.00 → 10.0) # devuelves un int. En cualquier otro caso, devuelves el float. if rounded\_tip.is\_integer(): return int(rounded\_tip) return rounded\_tip prueba = calculate\_tip(5000000000, 2)print(prueba)
Para una cuenta de 64500.20 y una propina del 24%:
* 24 = 1.548.004,8 / 100 = 15.480,048round(15.480,048, 2) = 15.480,05def calculate_tip(bill_amount, tipPercentage): # Calculamos la propina como porcentaje del total tip = (bill_amount * tipPercentage) / 100 return round(tip,2) # Redondeamos a dos decimales porque es dinero print(calculate_tip(100, 24)) print(calculate_tip(64500.20, 24)) # 15480.05
✅ Recomendaciones
tip) tiene ventajas: mejora la comprensión del código, facilita la depuración y permite crecer el código.como la cuenta es la que varia, validamos el tipo de dato y luego hacemos el calculo para ambos casos.
def calculate_tip(bill_amount, tipPercentage): if(type(bill_amount) == "int"): return bill_amount * tipPercentage / 100 valor_float: float = bill_amount * tipPercentage / 100 return round(valor_float, 2) print(calculate_tip(100, 10)) print(calculate_tip(1524.33, 25)) ```def calculate\_tip(bill\_amount, tipPercentage): if(type(bill\_amount) == "int"): return bill\_amount \* tipPercentage / 100 valor\_float: float = bill\_amount \* tipPercentage / 100 return round(valor\_float, 2) print(calculate\_tip(100, 10))print(calculate\_tip(1524.33, 25))