¡Te damos la bienvenida a este reto!

1

Empezando con Python desde 0

Día 1

2

Variables, funciones y sintaxis básica

3

Tipos de datos: Numbers, Strings y Diccionarios

4

Playground - Retorna el tipo

Día 2

5

Operadores

6

Playground - Calcula la propina

Día 3

7

Condicionales

8

Playground - Averigua si un año es bisiesto

9

Ciclos

10

Playground - Dibuja un triangulo usando bucles

Día 4

11

Listas

12

Encuentra a los gatitos más famosos

13

Diccionarios

14

Obtén el promedio de los estudiantes

15

Tuplas

16

Obten la información de los paquetes

Día 5

17

Calcula la cantidad de letras en una oración

18

Encuentra el mayor palíndromo

Día 6

19

Sets

20

Encuentre la intersección de conjuntos

Día 7

21

List comprehension

22

Encuentra palabras con dos vocales

23

Dictionary Comprehension

24

Calcula la longitud de las palabras

Día 8

25

Funciones Lambda

26

Filtra mensajes de un user específico

27

Higher order functions

28

Crea tu propio método map

Día 9

29

Manejo de Errores y excepciones

30

Maneja correctamente los errores

31

Maneja las excepciones

Día 10

32

Playground - Crea un task manager usando closures

Día 11

33

Lectura de archivos de texto y CSV

Día 12

34

Programación orientada a objetos

35

Crea un auto usando clases

Día 13

36

Abstracción en Python

37

Playground - Crea un sistema de carrito de compras

38

Encapsulamiento en Python

39

Playground - Encapsula datos de los usuarios

Día 14

40

Herencia en Python

41

Playground - Jerarquía de animales usando herencia

Día 15

42

Polimorfismo en Python

43

Playground - Implementa un sistema de pagos

Día 16

44

Estructuras de datos en Python

45

Playground - Crea tu propia lista en python

46

Hash tables en Python

47

Playground - Implementación de una HashTable para Contactos

Día 17

48

Maps en Python

49

Playground - Crea un task manager con Maps

Día 18

50

Singly Linked List en Python

51

Playground - Implementación de una singly linked list

Día 19

52

Stacks en Python

53

Playground - Implementación de un stack

Día 20

54

Queues en Python

55

Playground - Implementación de una queue

Día 21

56

¡Lo lograste!

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
23 Hrs
10 Min
55 Seg

Playground - Calcula la propina

6/56

Aportes 68

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

.
.
.
.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   return round( ((bill_amount * tipPercentage)/ 100),2 )

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.

Es mejor refrescar la página si se ejecuta con otro código, como que se rompe el Playground.

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.

Mi aporte

def calculate_tip(bill_amount, tipPercentage):
   return round(bill_amount*(tipPercentage/100),2)

.
.
.
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)
.
.


.
.
.
.
.
.
.
.
.
.
.
Aquí dejo mi solución

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))

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)

Tengo un reclamo, hay varias formas de resolver y me paso lo mismo en el anterior Playground

No me gusta criticar,pero lamentablemente hay mala redaccion en las preguntas, debido a que no hay necesidad de redondear ya que el tipo de dato INT ya da un valor sin decimales ..porque el mismo ejercicio dice que debe devolver como un numero.
```python def calculate_tip(bill_amount, tipPercentage): calculo = bill_amount * tipPercentage calculo_convertido = calculo/100 redondeado = round(calculo_convertido,2) return redondeado ```def calculate\_tip(bill\_amount, tipPercentage): calculo = bill\_amount \* tipPercentage calculo\_convertido = calculo/100 redondeado = round(calculo\_convertido,2) return redondeado
Dejo mi aporte: Si me estaba medio enredando con la cantidad de decimales que habia que dejar... ![](https://static.platzi.com/media/user_upload/image-dceb9757-b900-48c4-826c-754fcf9ec479-5b4f467c-df48-455a-b128-47061d860620.jpg) . . . . . . . . . ![](https://static.platzi.com/media/user_upload/image-89128bc1-9346-41bc-af24-19e5ccbe52ea.jpg)
Hola, dejo mi solución: ![](https://static.platzi.com/media/user_upload/image-2d68cbe9-0fe7-46c0-831e-006c4c019f80.jpg)
![](https://static.platzi.com/media/user_upload/image-dceb9757-b900-48c4-826c-754fcf9ec479.jpg) . . . . `def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 # pass bill_amount = float(bill_amount) tipPercentage = float(tipPercentage) if bill_amount >= 0 and tipPercentage >= 0: propina = bill_amount * (tipPercentage / 100) return round(propina,2)`
Aquí mi solución: ```js def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 tip: float =(bill_amount * tipPercentage )/ 100 return round(tip, 2) ```
Aquí mi solución: ```js def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 tip: float =(bill_amount * tipPercentage )/ 100 return round(tip, 2) ```def calculate\_tip(bill\_amount, tipPercentage):   # Tu código aquí 👈   tip: float =(bill\_amount \* tipPercentage )/ 100   return round(tip, 2)
como le supieron tanto todos :( no me salia ![](https://static.platzi.com/media/user_upload/image-14b26d32-4e7d-42a0-abc7-d88c76c81392.jpg) ![](https://static.platzi.com/media/user_upload/image-f382642d-4779-44df-b365-8ec8aefe8da0.jpg)
Necesitan mejorar su playground, se agradeceria :)
![](https://static.platzi.com/media/user_upload/image-6899fc66-d6e2-4dc9-af38-ad769b97d252.jpg) . . . . * Traté de hacerlo con una estructura parecida al playground anterior. ```js def calculate_tip(bill_amount, tipPercentage): # Tu código aquí 👈 tip = bill_amount*(tipPercentage/100) return round(tip,2) amount = 100 porcentage = 10 print(calculate_tip(amount, porcentage)) amount = 1524.33 porcentage = 25 print(calculate_tip(amount, porcentage)) ```
Incluyendo que se ponga como parametro numero negativo, como se menciona en ele ejercicio: def calculate\_tip(bill\_amount, tipPercentage):   # Tu código aquí 👈   if tipPercentage >= 0:      return round(bill\_amount \* (tipPercentage/100),2)   else:      return round(bill\_amount \* ((tipPercentage\*(-1))/100), 2) calculate\_tip(100, 10)
![](https://static.platzi.com/media/user_upload/image-50ff3057-ecdf-45f4-9187-fdc97fd78d91.jpg)
Aqui mi ejercicio: ```js def calculate_tip(bill_amount, tipPercentage): porcentaje = tipPercentage * .01 propina = bill_amount * porcentaje total = bill_amount + propina totalf = round(total,2) return totalf pass print (calculate_tip(1524.34, 25)) ```def calculate\_tip(bill\_amount, tipPercentage):   porcentaje = tipPercentage \* .01   propina = bill\_amount \* porcentaje   total = bill\_amount + propina   totalf = round(total,2)   return totalf   pass print (calculate\_tip(1524.34, 25))
```js def calculate_tip(bill_amount, tipPercentage): monto = bill_amount * tipPercentage/100 total = round(monto,0) print(int(total)) calculate_tip(25,10) ```
y que hago si le doy ejecutar un o pasa absolutamente nada en consola este es mi codigo pero no se si esta bien por que no me mostro nada: def calculate\_tip(bill\_amount, tipPercentage):   propina=(bill\_amount\*tipPercentage)/100   return propina calculate\_tip(5000,25)

Me alegra mucho seguir avanzando, solo con la base del curso de introduccion a python.

Listo:

Costo = float(input(“Ingrese el Costo a pagar:”))
Propina = float(input(“Ingrese porcentaje(%) de Propina:”))

def Calculador(Costo,Propina):
Valor = Costo*Propina/100
return Valor
print(f" El costo es de {Costo} Pesos más su propina es de {Calculador(Costo,Propina)}. Por lo tanto: Valor total es de {Costo + Calculador(Costo,Propina)}")

mi codigo

print("ingresa el valor de la comida ")
valor_comida = float(input())

def calculate_tip (porcentaje_propina):
  propina = valor_comida * (porcentaje_propina / 100)
  return propina

print("porcentaje de propina que deseas dejar: ")
porcentaje = float(input())

propina_calculada = calculate_tip(porcentaje)
total_a_pagar = valor_comida + propina_calculada

print(f"propina: ${propina_calculada: .2f}")
print(f"total a pagar: ${total_a_pagar: .2f}")

Recuerda usar round para redondear a dos decimales, tú puedes.

Comparto mi aportación y como dicen en los comentarios, cada vez que realizes una modificación al código refresca la pagina, comparto mi código:

def calculate_tip(bill_amount, tipPercentage):
   propina = bill_amount * (tipPercentage/100)
   if propina <= 0:
      propina01 = (propina * -1)
   else:
      propina01 = propina
   return round(propina01,2)

resultado = calculate_tip(45.67, 20)
print(resultado)

def calculate_tip(bill_amount, tipPercentage):
return round(bill_amount * tipPercentage /100,2)

resultado = calculate_tip(100, 10)
print(resultado)


*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
NUNCA TENDRAs LA RESPUESTA
*
*
*
*
*
*
*
*
*
*
*
*
*

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   return round(((bill_amount * tipPercentage) / 100) , 2)
   pass

Comparto mi reto:


.
.
.
.
.

valida letras, numeros y flotantes:

def calculate_tip(bill_amount, tipPercentage):

Tu código aquí 👈

iscallfunction=True

#print(isinstance(tipPercentage,int) )
#print(isinstance(bill_amount, int))

#print(“iscallfunction 1”, iscallfunction)

#es letras
if (isinstance(tipPercentage,int) or isinstance(bill_amount, int)):

   if not (isinstance(tipPercentage,int) or isFlotant(tipPercentage)):
       print("The value 'percentaje':", tipPercentage ," is not  a number." )
       iscallfunction = False
       

   elif not (isinstance(bill_amount,int) or isFlotant(bill_amount)):
       print("The value 'amount':", bill_amount ," is not  a number." )
       iscallfunction = False

else:
print(“neither amount and percentaje is not a number”)
iscallfunction = False

#print(“iscallfunction 2”, iscallfunction)

#es numero
if iscallfunction:
if bill_amount < 0 and tipPercentage < 0:
print("neither amount and percentaje is a number less than: ", 0)
iscallfunction = False
else:

        if (bill_amount < 0):
            print("the amount is incorrect!. the value amount: ", bill_amount ," is less than: ", 0)
            iscallfunction = False
        elif (tipPercentage < 0):
            print("the percentil is incorrect!. the value amount: ", tipPercentage ," is less than: ", 0)
            iscallfunction = False

if iscallfunction:
# print(“iscallfunction 3”, iscallfunction)
newamount = float(bill_amount)
newpercentage = float(tipPercentage/100)
# print(“iscallfunction 3”, iscallfunction, "newamount, newpercentage: ", newamount,newpercentage, " newamountnewpercentage: ",newamountnewpercentage)
return(round(newamount*newpercentage,2))

def isFlotant(variable):
try:
float(variable)
return True
except:
return False

#amount= 100
#percentaje=-10

result = calculate_tip(“a”, 100)
print(“calculate_tip(”“a”", 100): ", result)

result = calculate_tip(100, -10)
print("calculate_tip(100, -10): ", result)

result = calculate_tip(-10, -10)
print(“calculate_tip(-10, -10):”,result)

result = calculate_tip(-10, 100)
print(“calculate_tip(-10, 100):”,result)

result = calculate_tip(100, “b”)
print(“calculate_tip(100, ““b””):”,result)

result = calculate_tip(“a”, “b”)
print(“calculate_tip(”“a”", ““b””):",result)

result = calculate_tip(100, 10)
print("propina: -> calculate_tip(100, 10): ", result)

result = calculate_tip(1524.33, 25)
print("propina: -> calculate_tip(1524.33, 25): ", result)

it’s right.

‘’’

’’’

def calculate_tip(bill_amount, tipPercentage):
   return (round(bill_amount * tipPercentage / 100, 2))

Me avente un round, apenas ando dando mis primeros pasos en Python. Pero les comparto mi solución…


.
.

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   return round(bill_amount*tipPercentage/100,2)

print(calculate_tip(1524.33, 25))
def calculate_tip(bill_amount, tip_percentage):
    tip = bill_amount * tip_percentage / 100
    return round(tip, 2)
    pass

mi solucion
.
.

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
    return round( ((bill_amount / 100)* tipPercentage),2 )


+
+
+
+
+

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   propina=(bill_amount*tipPercentage)/100
   return propina

def pago(pago, porcp):
   mto_propina=calculate_tip(pago,porcp)
   print('El monto de la propina es: ', round(mto_propina,2))

pago(579,25)

Solución 😄…
.

.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   return round(bill_amount * tipPercentage / 100, 2)
   pass

Lo hice pa! a la tercera, bueno me demore buscando como sacar un numero de un porcentaje, lo había olvidado xD

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Aquí la solución he encontrado, se recibe feedback

def calculate_tip(bill_amount, tipPercentage):
   propinaTotal = (tipPercentage / 100) * bill_amount
   return(round(propinaTotal, 2))
   pass

print(calculate_tip(100, 10))
print(calculate_tip(1524.33, 25))
print(calculate_tip(2790, 15))

def calculate_tip(bill_amount, tipPercentage):

Tu código aquí 👈

calculo = bill_amount * (tipPercentage / 100)
valor = round(calculo,2)
return valor

pago = calculate_tip(1524.33, 25)
print(pago)


.
.
Están muy bien los retos para aplicar un contenido pero cuando hago cambios y corrijo cosas no lo reconoce hasta que refresco la página y lo repito todo :c
.
.

<def calculate_tip(bill_amount, tipPercentage):
   
   tip = round(bill_amount * (tipPercentage * 0.01),2)

   return(tip)

   pass> 


.
.
.
.
.
.
print(calculate_tip(100, 10))
print(calculate_tip(1524.33, 25))
print(calculate_tip(1524.33, 25))


.
.
.
.
.
Con preguntica y toda la cosa chico, me quedo bien bacano, que viva el campooooo.

<def calculate_tip(bill_amount, tipPercentage):
# aquí ojo porque no me salía, hasta que me dí cuenta que hay que hacer float las variables en la ecuación
    tip = float(bill_amount) * (float(tipPercentage) / 100)
    return round(tip, 2)

bill_amount = input("Captura el total de la cuenta a pagar: ") 
tipPercentage = input("¿Cuanto porcentaje de propina vas a dejar?: ")
print("Total a pagar: ", "$", bill_amount, "pesos")
print("Propina de un: ", tipPercentage, "%")

response = calculate_tip(bill_amount, tipPercentage)
print("Se dejó de propina de ", "$",response, "pesos")> 
def calculate_tip(bill_amount, tipPercentage):
   return round((bill_amount * tipPercentage)/ 100, 2)

print(calculate_tip(100,10))
print(calculate_tip(1524.33, 25))  

Mi solución:

def calculate_tip(bill_amount, tipPercentage):
   tip = round((bill_amount*tipPercentage/100),2)
   return tip
print(calculate_tip)

Para mi resulta mejor ejecutar las pruebas en otro entorno diferente al playground…

Aqui mi solución que puede colocar los montos de la variables (preparandome para cuando venga la fase de introduzca los montos y haga calculos con dichas variables)… tengo como unos 20 años sin ver codigo, veremos si aun asi se hacen los programas
Alerta anti spoiler
.
.
.
.
.
bill_amount = 50
tip_percentage = 15

def calculate_tip(bill_amount, tipPercentage):
tip = bill_amount * (tip_percentage / 100)
return round(tip, 2)
respuesta = calculate_tip(bill_amount, tip_percentage)
print(“La propina a dejar es:”, respuesta)
print("El Consumo fue de: ", bill_amount)
print("EL porcentaje es de: ", tip_percentage)


.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   pass
   propina = (bill_amount * tipPercentage) / 100
   return round(propina, 2)

response = calculate_tip(100, 10)
print(response)

Uhmm no pasa toda las pruebas, pero en replit me funciona bien

def calculate_tip(bill_amount, tipPercentage):
  if bill_amount and tipPercentage >= 0:
    tip = tipPercentage * bill_amount / 100
    return round(tip, 2)



tip1 = calculate_tip(120, 5)
print(tip1)
tip2 = calculate_tip(0, 0)
print(tip2)
tip3 = calculate_tip(256.4, 15.5)
print(tip3)


.
.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
    return print(round(bill_amount * (tipPercentage / 100), 2))


.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   
   return round((tipPercentage*bill_amount)/100, 2)

   respoonse = calculate_tip(100, 10)
   print(respoonse)

   respoonse = calculate_tip(1524.33, 25)
   print(respoonse)

Mi solución, aunque no me la tomó por buena, la corrí en VS Code y los resultados si me dieron, veré la solución de Platzi

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   x = tipPercentage / 100
   resultado = bill_amount * x
   tipo_dato = type(resultado).__name__
   if tipo_dato == 'int':
    resultado = round(resultado)
   elif tipo_dato == 'float':
    resultado = round(resultado, 2)
   return resultado
  
resultado = calculate_tip(100, 10)
print(resultado)

Hola,
Mi solución:


cantidad = float(input("Cuanto es la cuenta: "))
tip = float(input("Cuanto es la propina: "))

def calculate_tip(bill_amount, tipPercentage):
   return round((bill_amount * tipPercentage)/100,2)

print(calculate_tip(cantidad, tip))
def calculate_tip(bill_amount, tipPercentage):
   return round( ((tipPercentage*bill_amount)/100) , 2 )
def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   if float(bill_amount)>=0 and float(tipPercentage)>=0:
      return round(bill_amount * tipPercentage / 100, 2)
   pass


.
.
.
.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   return round(bill_amount * tipPercentage / 100,2)
   pass


.
.
.
.
.
.
.
.
Una solución usando una sola línea para calcular la propina

def calculate_tip(bill_amount, tipPercentage):
tip = round((bill_amount * tipPercentage * .01),2)
return tip

def calculate_tip(bill_amount:float, tipPercentage:float):
   # Tu código aquí 👈
   tip = round((bill_amount * tipPercentage)/100,2)
   return tip

resultado = calculate_tip(1524.33, 25)
print(resultado)

Mi solución!

def calculate_tip(bill_amount, tipPercentage):
   if bill_amount>=0 and tipPercentage>=0:
      return round(bill_amount*tipPercentage/100,2)
   else:
      print("Ingrese valores mayores a 0")
      return 0
   pass

resultado1 = calculate_tip(100,10)
print(resultado1)

resultado2 = calculate_tip(1524.33,25)
print(resultado2)

Mi Solución


.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   propina = (bill_amount * (tipPercentage / 100))
   return round(propina,2)

propina = calculate_tip(1524.33, 25);
print(propina) 
def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   propina = round(bill_amount * (tipPercentage/100),2)

   return propina

   calculate_tip(100,10)

   calculate_tip(1524.33,25)



.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   # Tu código aquí 👈
   return round((bill_amount * tipPercentage) / 100 ,2)
def calculate_tip(bill_amount, tipPercentage):
   return round( ((bill_amount * tipPercentage)/ 100),2 )

Recuerden en los playground colocar algún escudo antispoiler con puntitos o imágenes así no se hace spoiler de las soluciones a otros Platzinautas 💚
.

.
.
.
.
.
.
.
.

def calculate_tip(bill_amount, tipPercentage):
   tip:float = bill_amount * (tipPercentage / 100)
   tip = round(tip,2)
   return tip
undefined