s2Eva_IIT2010_T1 Juego con fichas rojas y azules

Ejercicio: 2Eva_IIT2010_T1 Juego con fichas rojas y azules

literal a

usar la posición relativa para determinar el valor de potencia de 10 para acumular el total al recorrer la cadena.

intercambiar a: 1
 con b: 3
cadena inicial:  RRRAR
puntos vasos sin mover:  30
cadena nueva:  RRRAR
puntos vasos movidos:  30
>>> 
 RESTART: D:/CCPG1001Ejemplos/fichasrojasazules.py 
intercambiar a: 2
 con b: 4
cadena inicial:  RRRAR
puntos vasos sin mover:  30
cadena nueva:  RARRR
puntos vasos movidos:  3000
>>> 

literal b

desarrollado hasta intercambiar caracteres entre las posiciones a,b

Tarea: realizar varias «rondas»

Instrucciones Python

# 2Eva_IIT2010_T1 Juego con fichas rojas y azules
import random as rnd

# literal a
def puntos(cadena,valor):
    n = len(cadena)
    total = 0
    for i in range(0,n,1):
        base = 10**(n-1-i)
        if cadena[i]=='A':
            total = total + valor*base
        if cadena[i]=='R':
            total = total + 0*base
    return(total)

# literal b
def intercambia(cadena,a,b):
    n = len(cadena)
    orden = []
    for i in range(0,n,1):
        orden.append(i)
    orden[a-1] = b-1
    orden[b-1] = a-1
    nueva = ''
    for i in range(0,n,1):
        posicion = orden[i]
        nueva = nueva + cadena[posicion]
    return(nueva)

# INGRESO
a = int(input('intercambiar a: '))
b = int(input(' con b: '))

n = 5 # cantidad de vasos

# PROCEDIMIENTO
dado = int(rnd.random()*6)+1
cadena = ''
for i in range(0,n,1):
    if i == dado:
        cadena = cadena + 'A'
    else:
        cadena = cadena + 'R'

equivale = puntos(cadena,dado)

nueva = intercambia(cadena,a,b)
equivale2 = puntos(nueva,dado)

# SALIDA
print('cadena inicial: ',cadena)
print('puntos vasos sin mover: ',equivale)
print('cadena nueva: ',nueva)
print('puntos vasos movidos: ',equivale2)