ComenzarEmpieza gratis

if y else dentro de una función

Como las expresiones if devuelven valores, pueden ser el resultado de funciones, que también devuelven valores.

En este ejercicio, crearás el cuerpo de una función para tu programa de Twenty-One llamada pointsToBust, que recibe como entrada el valor de puntos de la mano actual y calcula cuántos puntos faltan hasta 21. Como jugador, saber cuántos puntos adicionales harían que tu mano actual haga bust te ayudará a decidir si pedir carta o plantarte. Las variables de cartas que necesitas y la función bust ya están definidas para ti.

Este ejercicio forma parte del curso

Introducción a Scala

Ver curso

Instrucciones del ejercicio

  • Escribe una condición if: si la mano hace bust, haz que el Int 0 sea el resultado de la función.
  • Escribe una condición else: si la mano no hace bust, resta hand de 21 y haz que esa diferencia sea el resultado de la función.
  • Llama a pointsToBust con una mano que tenga las cartas tenSpades y fiveClubs como argumento.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

// Find the number of points that will cause a bust
def pointsToBust(hand: Int): Int = {
  // If the hand is a bust, 0 points remain
  ___ ___
    ___
  // Otherwise, calculate the difference between 21 and the current hand
  ___
    ___
}

// Test pointsToBust with 10♠ and 5♣
val myHandPointsToBust = ___
println(myHandPointsToBust)
Editar y ejecutar código