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"
Algoritmo en 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)