# vamos a crear una función tiradaMoneda() que nos devuelve 'cara' o 'cruz' aleatoriamente
import random
def tiradaMoneda():
# tiradas posibles
tiradas = ['cara', 'cruz']
# devuelvo una al azar
return random.choice(tiradas)
# la puedo usar para imprimir por la consola
print("Una tirada de moneda", tiradaMoneda())
# Y otra función tiradaMonedas(veces) que nos devuelva una lista de x tiradas aleatorias
# de monedas. tiradaMonedas(3)->["cara","cara","cruz"]
# Le paso como parámetro las veces
def tiradaMonedas(veces):
# esquema típico. Tengo un valor que inicializo a algo
# en este caso una lista y la inicializo a lista vacía
lista = []
# recorro las veces que me pasan como parámetro
for i in range(veces):
# añado a la lista una tirada (modifico el valor que voy a devolver)
lista.append(tiradaMoneda()) # la puedo usar para guardarla en una lista
return lista
print(tiradaMonedas(10))
# y otra función tiradaFrecuente(tiradas) a la que le pasamos una lista de tiradas y nos
# devuelve 'cara' si hay más caras que cruces 'cruz' si hay más cruces que caras y 'empate'
# si hay la misma cantidad
def tiradaFrecuente(tiradas):
# inicializo dos valores a 0
cruces = 0
caras = 0
# recorro las tiradas que me pasan
for tirada in tiradas:
# si la tirada es cara modifico el valor a devolver (le sumo 1)
if tirada == 'cara':
caras += 1
# si la tirada es cruz modifico el valor a devolver (le sumo 1)
if tirada == 'cruz':
cruces += 1
# No devolvemos directamente el número de carras y de cruces
# Si no que a partir de ahí calculamos lo que vamos a devolver
if cruces > caras:
return 'cruz'
if caras > cruces:
return 'cara'
return 'empate'
def tiradaFrecuenteTupla(tiradas):
# inicializo dos valores a 0
cruces = 0
caras = 0
# recorro las tiradas que me pasan
for tirada in tiradas:
# si la tirada es cara modifico el valor a devolver (le sumo 1)
if tirada == 'cara':
caras += 1
# si la tirada es cruz modifico el valor a devolver (le sumo 1)
if tirada == 'cruz':
cruces += 1
# No devolvemos directamente el número de carras y de cruces
# Si no que a partir de ahí calculamos lo que vamos a devolver
return (caras, cruces)
tiradas = tiradaMonedas(6)
print(tiradas)
print(tiradaFrecuente(tiradas))
caras, cruces = tiradaFrecuenteTupla(tiradas)
print(caras, cruces)