Ejercicio: 1Eva_IT2004_T3 Sortear parejas para tenis
Propuesta de solución en Python:
La variable n indica el número de parejas o tamaño de los vectores para almacenar la «pareja» y el contador de «veces» que juega cada una.
El ejercicio se divide en dos partes: la primera para seleccionar de forma aleatoria la pareja de la dama (una por una), es decir se sortean los caballeros (quien), y la segunda parte se realiza el proceso para los caballeros.
dama = n+1 while not(dama>(2*n)): quien = int(rnd.random()*n)+1 pareja[dama] = quien veces[quien] = veces[quien]+1 dama = dama + 1
En cada sorteo se registra cuántas veces participa cada uno.
Instrucciones en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IT2004_T3 Sortear parejas para tenis import random as rnd import numpy as np # INGRESO n = int(input('cuantas parejas: ')) # PROCEDIMIENTO pareja = np.zeros(2*n+1,dtype=int) veces = np.zeros( n+1,dtype=int) dama = n+1 while not(dama>(2*n)): quien = int(rnd.random()*n)+1 pareja[dama] = quien veces[quien] = veces[quien]+1 dama = dama + 1 # SALIDA print(pareja[n+1:]) print('veces: ') print(veces) print('juegan varias veces: ') caballero = 1 while not(caballero>n): if (veces[caballero]>1): print(caballero) caballero = caballero + 1 print('los que no juegan: ') caballero = 1 while not(caballero>n): if (veces[caballero]==0): print(caballero) caballero = caballero + 1
con un ejemplo de resultado:
cuantas parejas: 10 [ 6 2 1 8 3 9 10 1 7 9] veces: [0 2 1 1 0 0 1 1 1 2 1] juegan varias veces: 1 9 los que no juegan: 4 5 >>>