Gente como estan muy buenas noches... se me quemaron los libros con esto.
Me pidieron en la facu armar un juego de dados, con funciones retorno condiciones ciclos y parametros.
Hasta el momento todo bien, porque lo pude hacer, ahora lo que me piden es que si los 3 dados tienen el mismo valor es decir D1=D2=D3 entonces la sumatoria de los 3 se multiplique por dos.
Lo que tengo hasta el momento es esto (que es la primera parte sin el multiplicador)
import random
a = random.randint(1, 6)
if a == 1:
p=1
elif a == 3:
p=2
if a == 5:
p=4
elif a == 2 or a == 4 or a == 6:
p=0
print("Sus dados calleron en :",a)
return p
def ger():
p1=tirada()
p2=tirada()
p3=tirada()
pt=(p1+p2+p3)
return pt
pp=ger()
print("Su puntaje por tirada es de:",pp)
print("")
pq=ger()
print("Su puntaje por tirada es de:",pq)
print("")
pr=ger()
print("Su puntaje por tirada es de:",pr)
print("")
ps=ger()
print("Su puntaje por tirada es de:",ps)
print("")
if t==0:
ptt=(pp+pq+pr+ps)
else:
ptt=(pp+pq+pr+ps)*2
print(ptt)
Desde ya muchas gracias por la ayuda a todos
Mod: Los códigos deben ir en etiquetas GeSHi y como no dijiste en que lenguaje era, asumí python
lo que pides sería no más que esto
if dado1==dado2 and dado2==dado3:
print(dado1*6)
Muchas gracias, aunque falto algo mas, que los valores posibles pueden ser 2 / 4 / 6 , es decir que por ejemplo
caso d1=2 / d2=2 / d3=2
entonces suma (d1+d2+d3)*2
sino d1+d2+d3
Cita de: ehernandez en 28 Mayo 2015, 01:30 AM
Muchas gracias, aunque falto algo mas, que los valores posibles pueden ser 2 / 4 / 6 , es decir que por ejemplo
caso d1=2 / d2=2 / d3=2
entonces suma (d1+d2+d3)*2
sino d1+d2+d3
no entendí... los valores posibles según tu codigo son 0, 1, 2 y 4... solo es el doble si todos son 2?
Los valores posibles son 1 / 2 / 3 / 4 / 5 / 6 y se mulplica si
D1=D2=D3 =PARES
si esto sucede el resultado de la sumatoria de los dados se multiplica por dos, es decir tengo tres resultados posible
Caso 1 todos los dados tienen valor 2
Caso 2 todos los datos tienen valor 4
Caso 3 todos los datos tienen valor 6
Gracias por la ayuda !!!
Perdon va mas claro son 3 dados por tirada y son 4 tiradas
si en alguna de las tiradas los 3 dados son igual 2 o 4 o 6 entonces la sumatoria de todas las tiradas se multiplican por dos.
Disculpa que me explique mal
ahh eso es más claro...
4 jugadas, 3 dados por jugada, si en una jugada los 3 dados son iguales y a la vez son par, la jugada se multiplica por 2
sumatoria=0
#jugada1
tirar_dados()
resultado=0
resultado=dado1+dado2+dado3
if dado1==dado2 and dado2==dado3 and dado1%2==0:
resultado = resultado*2
sumatoria= sumatoria+resultado
#fin jugada 1
#jugada2 ... lo mismo
#jugada3 ... lo mismo
#jugada4 ... lo mismo
print(sumatoria)
Muchas gracias !!! estas usando variables globales?
Cita de: ehernandez en 28 Mayo 2015, 02:13 AM
Muchas gracias !!! estas usando variables globales?
no, fijate que declaro sumatoria allí y que "resultado" se limpia dentro de la jugada
cada jugada es una copia exacta de lo que está entre #jugada1 y #fin jugada1
Sos un genio!! funciona a la perfeccion! muchas gracias!!
yo personalmente recomendaría usar array para que el codigo quede más arreglado y flexibl... pero eso depende si te lo han dado en la uni