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