En este juego, el computador genera 4 números al azar entre el 0 y el 9, entonces, nosotros probaremos con 4 números que elegiremos para comprobar si existen coincidencias de posición o de existencia. Las coincidencias de existencia, se llaman toques, y las de posición son las famas, la idea es encontrar el orden de los números que generó el ordenador de forma que todos sean famas. Es muy parecido al estilo de batalla naval, en donde se dice una posiciones y si le dio a algún buque o a alguna flota enemiga.
from random import randint
def fama(x,y):
if x==y:
return 1
else:
return 0
def azar():
a=randint(0,9)
b=randint(0,9)
d=randint(0,9)
while a==b or a==c or a==d or b==c or b==d or c==d:
a=randint(0,9)
b=randint(0,9)
c=randint(0,9)
d=randint(0,9)
return a,b,c,d
def casi(a,x,y,z):
if a==x or a==y or a==z:
return 1
else:
return 0
a,b,c,d=azar()
w=-1
x=-1
y=-1
z=-1
while a!=w or b!=x or c!=y or d!=z:
print "número a elegir(0-9):"
w=int(raw_input())
x=int(raw_input())
y=int(raw_input())
z=int(raw_input())
while -1<w>10:
w=int(raw_input())
while -1<x>10:
x=int(raw_input())
while -1<y>10:
y=int(raw_input())
while -1<z>10:
z=int(raw_input())
while w==x or w==y or w==z:
print "existe coincidencia,ingresa los nº de nuevo..."
w=int(raw_input())
x=int(raw_input())
y=int(raw_input())
z=int(raw_input())
while -1<w>10:
w=int(raw_input())
while -1<x>10:
x=int(raw_input())
while -1<y>10:
y=int(raw_input())
while -1<z>10:
z=int(raw_input())
h=fama(a,w)
i=fama(b,x)
j=fama(c,y)
k=fama(d,z)
l=casi(a,x,y,z)
m=casi(b,w,y,z)
o=casi(c,w,x,z)
p=casi(d,w,x,y)
n=h+i+j+k
q=l+n+o+p
q=q-n
print w,x,y,z
print "famas:%d"%n
print "casi coinsidencias:%d"%q
print "GANASTE!!!"
No hay comentarios:
Publicar un comentario