Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
PRIMERA PRÁCTICA.................................................................................................................................. - 2 -
PREGUNTA 1 ................................................................................................................................................ - 2 -
PREGUNTA 2 .............................................................................................................................................. - 11 -
Parte a ................................................................................................................................................... - 11 -
PREGUNTA 3 .............................................................................................................................................. - 16 -
PREGUNTA 4 .............................................................................................................................................. - 28 -
Página - 1 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
PRIMERA PRÁCTICA
PREGUNTA 1
Programar en Python lo siguiente:
a) Una base de datos de preguntas con 5 alternativas de respuesta sobre el libro “el Arte de la
Guerra” de Sun Tzu.
Preguntas y BD
PREGUNT
alternativas AS
Se ingresa las
preguntas
Código en PYTHON
#A)
#BD de preguntas
preg=0
op1=0
op2=0
op3=0
op4=0
op5=0
corr=0
just=0
num=1
p1=p2=p3=p4=p5=p6=p7=p8=p9=p10=p11=p12=0
def t(p,p01,p02,p03,p04,p05,correcto):
print p
print "Seleccione la opcion correcta:"
print "1.", p01
print "2.", p02
print "3.", p03
print "4.", p04
print "5.", p05
print "Respuesta:",correcto
Página - 2 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
print "--------------------------------------------------------------
------------"
for n1 in range(0,9):
if n1==0:
preg='Cual es la filosofia competitiva correcta?'
op1='Es necesario tener un objetivo bien definido. '
op2='No es necesario tener un objetivo bien definido'
op3='Es necesario tener un objetivo mal definido'
op4='Es necesario tener una tactica bien definida'
op5='Es necesario planificar una estrategia bien definida'
corr='1'
p1=t(preg,op1,op2,op3,op4,op5,corr)
if n1==1:
preg='Cuantos factores criticos determinan su exito en
situaciones competitivas?'
op1='Cada situacion es igual en terminos de la cantidad de
factores que determinan el exito.'
op2='Cada situacion es diferente en terminos de la cantidad de
posibilidades que determinan el exito.'
op3='Cada situacion es diferente en terminos de la cantidad de
factores que determinan el exito.'
op4='Cada situacion es diferente en terminos de la cantidad de
factores que determinan nuestra vision.'
op5='Cada problema es condicionante en terminos de la cantidad de
factores que determinan el exito.'
corr='3'
p2=t(preg,op1,op2,op3,op4,op5,corr)
if n1==2:
preg='Que rol desempena la competencia en la vida?'
op1='Es uno de los mas particulares y superficiales impulsos.'
op2='Es uno de los mas esteticos y avazados impulsos sin
importancia.'
op3='Es uno de los mas basicos y esteticos impulsos
innecesarios.'
op4='Es uno de los mas basicos y naturales impulsos vitales.'
op5='Es uno de los mas avanzados y naturales impulsos vitales.'
corr='4'
p3=t(preg,op1,op2,op3,op4,op5,corr)
if n1==3:
preg='Como afecta el tipo de competencia su probabilidad de
exito?'
op1='El exito depende de las opciones de los tipos correctos de
metas. '
op2='El exito depende de la eleccion de los tipos correctos de
competencia.'
op3='El exito depende de la eleccion de los tipos correctos de
objetivos.'
op4='El exito depende de la ubicacion de problemas.'
op5='El exito depende de la seleccion de los tipos de
competencia.'
corr='2'
p4=t(preg,op1,op2,op3,op4,op5,corr)
if n1==4:
preg='Cual es el proposito del analisis de la competencia?'
op1='Para definir las acciones incorrectas.'
Página - 3 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Página - 4 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Código en PYTHON
#B)
p=[]
p1=0
i=0
for i in range(4):
p.append([])
p[i].append(raw_input("Pregunta:"))
p[i].append(raw_input(" Opcion1:"))
p[i].append(raw_input(" Opcion2:"))
p[i].append(raw_input(" Opcion3:"))
p[i].append(raw_input(" Opcion4:"))
p[i].append(raw_input(" Opcion5:"))
Página - 5 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
p[i].append(raw_input(" Respuesta"))
for n1 in range(4):
print "--------------------------------------------------------------
------------"
print p[n1][0]
print "Seleccione la opcion correcta:"
print "1.", p[n1][1]
print "2.", p[n1][2]
print "3.", p[n1][3]
print "4.", p[n1][4]
print "5.", p[n1][5]
Página - 6 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Código en PYTHON
for n1 in range(0,9):
n1=int(random()*10)
if n1==0:
preg='Cual es la filosofia competitiva correcta?'
op1='Es necesario tener un objetivo bien definido. '
op2='No es necesario tener un objetivo bien definido'
op3='Es necesario tener un objetivo mal definido'
op4='Es necesario tener una tactica bien definida'
op5='Es necesario planificar una estrategia bien definida'
corr='1'
p1=t(preg,op1,op2,op3,op4,op5,corr)
if n1==1:
preg='Cuantos factores criticos determinan su exito en
situaciones competitivas?'
Página - 7 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
p2=t(preg,op1,op2,op3,op4,op5,corr)
if n1==2:
preg='Que rol desempena la competencia en la vida?'
op1='Es uno de los mas particulares y superficiales impulsos.'
op2='Es uno de los mas esteticos y avazados impulsos sin
importancia.'
op3='Es uno de los mas basicos y esteticos impulsos
innecesarios.'
op4='Es uno de los mas basicos y naturales impulsos vitales.'
op5='Es uno de los mas avanzados y naturales impulsos vitales.'
corr='4'
p3=t(preg,op1,op2,op3,op4,op5,corr)
if n1==3:
preg='Como afecta el tipo de competencia su probabilidad de
exito?'
op1='El exito depende de las opciones de los tipos correctos de
metas. '
op2='El exito depende de la eleccion de los tipos correctos de
competencia.'
op3='El exito depende de la eleccion de los tipos correctos de
objetivos.'
op4='El exito depende de la ubicacion de problemas.'
op5='El exito depende de la seleccion de los tipos de
competencia.'
corr='2'
p4=t(preg,op1,op2,op3,op4,op5,corr)
if n1==4:
preg='Cual es el proposito del analisis de la competencia?'
op1='Para definir las acciones incorrectas.'
op2='Para definir las acciones correctas.'
op3='Para definir las acciones pasajeras.'
op4='Para elegir las opciones correctas.'
op5='Para definirnos correctamente.'
corr='2'
p5=t(preg,op1,op2,op3,op4,op5,corr)
if n1==5:
preg='Cual es el elemento mas importante de los metodos que Ud.
Utiliza?'
op1='Ninguna situacion define la metodologia mas adecuada.'
op2='Siempre usar la misma metodologia.'
op3='Cada situacion define la metodologia mas adecuada.'
op4='Cada situacion entrega la metodologia menos adecuada.'
Página - 8 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
coso=5
p6=t(preg,op1,op2,op3,op4,op5,corr)
if n1==6:
preg='Que informacion es la mas relevante para evaluar su
situacion? '
op1='La relacionada con la comparacion entre su empresa y el
consumidor.'
op2='La relacionada con la comparacion entre su empresa y la
competencia.'
op3='La no relacionada con la comparacion entre su empresa y la
competencia.'
op4='La relacionada con la comparacion entre su empresa y el
gobierno.'
op5='Que la empresa sea mas que la competencia.'
corr='2'
p7=t(preg,op1,op2,op3,op4,op5,corr)
if n1==7:
preg='Como reconoce la oportunidad en que el exito es seguro?'
op1='Las ventajas suyas son obvias para Ud. Pero no para la
competencia.'
op2='Las desventajas suyas son obvias para Ud.'
op3='Las ventajas suyas no son obvias para Ud. Pero si para la
competencia.'
op4='Las metas son obvias para Ud. Pero no para los empleados.'
op5='Las ventajas son dificil de compara en la matriz de relacion
con las metas.'
corr='1'
p8=t(preg,op1,op2,op3,op4,op5,corr)
if n1==8:
preg='Cual es la habilidad de comunicacion mas importante para
competir?'
op1='Persuasion.'
op2='Imponer.'
op3='Colaborar.'
op4='Manipulacion.'
op5='Exploracion.'
corr='1'
p9=t(preg,op1,op2,op3,op4,op5,corr)
if n1==9:
preg='Como debe reaccionar cuando recibe informacion sobre la
competencia?'
op1='Accionar dejarlo fuera del equilibrio.'
op2='No tomar acciones para conservarlo fuera del equilibrio.'
op3='Accionar para conservarlo en equilibrio.'
op4='Accionar para conservarlo fuera del equilibrio.'
op5='Accionar para que no sea nuestra competencia.'
corr='4'
p10=t(preg,op1,op2,op3,op4,op5,corr)
Página - 9 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
rt=p1+p2+p3+p4+p5+p6+p7+p8+p9+p10
print 'El resultado final es:', rt,'.'
Página - 10 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
PREGUNTA 2
Parte a
Un sistema para guardar todos los sorteos de la Tinka, números de sorteos, fecha, números ganadores
ordenados, yapa y extras.
Frecuencia de números
Página - 11 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Código
import os
import sys
from datetime import datetime, date
historico=[0]*45
todo=[]
todo.append([1,date(1994,10,16),32,17,36,30,13,10,0])
todo.append([2,date(1994,10,23),10,14,18,20,24,34,0])
todo.append([3,date(1994,10,30),12,13,16,18,31,32,0])
todo.append([1125,date(2010,05,9),04,28,10,02,31,33,42])
def iniciar():
os.system(['clear','cls'][os.name == 'nt'])
a=raw_input('Elegir una opcion:\n 1.Ingresar resultado de la
Tinka\n 2.Mostrar frecuencia de los numeros\n 3.Mostrar frecuencia de
los numeros en los n sorteos anteriores\n 4.Averigue si sus numeros han
sido ganadores\n 5.Salir\n Ingrese su opcion: ')
while a<'1' or a>'5':
os.system(['clear','cls'][os.name == 'nt'])
a=raw_input('Elegir una opcion:\n 1.Ingresar resultado de la
Tinka\n 2.Mostrar frecuencia de los numeros\n 3.Mostrar frecuencia de
los numeros en los n sorteos anteriores\n 4.Averigue si sus numeros han
sido ganadores\n 5.Salir\n Ingrese su opcion: ')
opcion = int(a)
print opcion
if opcion == 1:
opcion1()
elif opcion == 2:
opcion2()
elif opcion == 3:
opcion3()
elif opcion == 4:
opcion4()
elif opcion == 5:
sys.exit
def agregar(n):
historico[n-1]=historico[n-1]+1
def valnum(m):
Página - 12 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
if not m.isdigit():
return False
elif int(m)>45 or int(m)<0:
return False
return True
def opcion1():
os.system(['clear','cls'][os.name == 'nt'])
print '=====================OPCION 1====================='
nums=raw_input("\nIngrese el numero de sorteo:")
while not nums.isdigit():
nums=raw_input("Ingrese el numero de sorteo:")
num1=raw_input("1er numero:")
while not valnum(num1):
num1=raw_input("1er numero:")
agregar(int(num1))
num2=raw_input("2do numero:")
while not valnum(num2):
num2=raw_input("2do numero:")
agregar(int(num2))
num3=raw_input("3er numero:")
while not valnum(num3):
num3=raw_input("3er numero:")
agregar(int(num3))
num4=raw_input("4to numero:")
while not valnum(num4):
num4=raw_input("4to numero:")
agregar(int(num4))
num5=raw_input("5to numero:")
while not valnum(num5):
num5=raw_input("5to numero:")
agregar(int(num5))
num6=raw_input("6to numero:")
while not valnum(num6):
num6=raw_input("6to numero:")
agregar(int(num6))
numy=raw_input("Ingrese el numero de la yapa (si no hubo yapa en este
sorteo, ingrese 0: ")
while not valnum(numy):
numy=raw_input("Ingrese el numero de la yapa (si no hubo yapa en
este sorteo, ingrese 0: ")
array=[nums,
datetime.today(),int(num1),int(num2),int(num3),int(num4),int(num5),int(nu
m6),int(numy)]
todo.append(array)
print 'Se registro correctamente el resultado'
xxx=raw_input()
iniciar()
def opcion2():
os.system(['clear','cls'][os.name == 'nt'])
print '=====================OPCION 2=====================\n'
for i in range(len(historico)):
print 'Numero',i+1,historico[i]
xxx=raw_input()
Página - 13 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
iniciar()
def opcion3():
os.system(['clear','cls'][os.name == 'nt'])
print '=====================OPCION 3====================='
ns=raw_input("\nIngrese el numero de sorteos a considerar en la
busqueda:")
while not ns.isdigit():
ns=raw_input("Ingrese el numero de sorteos a considerar en la
busqueda:")
temp = [0]*45
for j in range(len(todo)-int(ns),len(todo)):
pcom = todo[j]
temp[pcom[2]-1]=temp[pcom[2]-1]+1
temp[pcom[3]-1]=temp[pcom[3]-1]+1
temp[pcom[4]-1]=temp[pcom[4]-1]+1
temp[pcom[5]-1]=temp[pcom[5]-1]+1
temp[pcom[6]-1]=temp[pcom[6]-1]+1
temp[pcom[7]-1]=temp[pcom[7]-1]+1
print ''
for k in range(len(temp)):
print 'Numero',k+1,temp[k]
xxx=raw_input()
iniciar()
def opcion4():
os.system(['clear','cls'][os.name == 'nt'])
print '=====================OPCION 4=====================\n'
print 'Ingrese sus 6 numeros de la suerte y averigue si ya han sido
ganadores\n'
temp=[]
num1=raw_input("1er numero:")
while not valnum(num1):
num1=raw_input("1er numero:")
temp.append(int(num1))
num2=raw_input("2do numero:")
while not valnum(num2):
num2=raw_input("2do numero:")
temp.append(int(num2))
num3=raw_input("3er numero:")
while not valnum(num3):
num3=raw_input("3er numero:")
temp.append(int(num3))
num4=raw_input("4to numero:")
while not valnum(num4):
num4=raw_input("4to numero:")
temp.append(int(num4))
num5=raw_input("5to numero:")
while not valnum(num5):
num5=raw_input("5to numero:")
Página - 14 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
temp.append(int(num5))
num6=raw_input("6to numero:")
while not valnum(num6):
num6=raw_input("6to numero:")
temp.append(int(num6))
temp.sort()
idxenc=-1
for plop in range(len(todo)):
sorteo=todo[plop]
seq=sorteo[2:8]
seq.sort()
flag2=True
for idx in range(0,5):
if temp[idx] == seq[idx]:
continue
else:
flag2=False
break
if flag2:
idxenc=plop
break
if idxenc == -1:
print 'No se encontro ningun resultado con los numeros
ingresados'
else:
qui=todo[idxenc]
num=qui[0]
fecha=qui[1]
print 'Los numeros fueron ganadores en el
sorteo',num,'el',fecha.strftime("%d/%m/%y")
xxx=raw_input()
iniciar()
Página - 15 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
PREGUNTA 3
Programar en Python, el cálculo de las probabilidades del sorteo La Tinka
a) Que se repita un número dentro de los n sorteos jugados anteriormente.
Codigo Python
# -*- coding: cp1252 -*-
#A)
###
import time
gmt = time.gmtime(time.time())
fmt = '%a, %d %b %Y %H:%M:%S GMT'
str = time.strftime(fmt, gmt)
hdr = 'Fecha de Actualización: ' + str
print hdr
print("\nIngrese sus números de jugada")
print(" ")
###
BD1 = [02,12,14,15,20,21,34]
BD2 = [14,22,27,33,34,45,40]
BD3 = [06,07,21,26,35,42,19]
BD4 = [10,13,21,22,34,45,20]
BD5 = [06,18,19,33,35,40,21]
BD6 = [33,26,19,06,25,18,31]
BD7 = [45,18,22,11,15,13,43]
BD8 = [05,17,13,42,28,44,36]
BD9 = [33,14,20,16,24,38,02]
BD10 = [33,45,37,20,26,05,17]
BD11 = [22,11,14,39,18,05,37]
BD12 = [28,41,07,8,22,37,15]
BD13 = [07,11,32,18,22,24,17]
BD14 = [17,01,9,10,13,28,43]
BD15 = [27,17,31,04,20,9,18]
BD16 = [39,03,25,21,13,02,16]
BD17 = [04,28,10,02,31,33,42]
res = []
res.append(0)
Página - 16 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
Página - 17 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Página - 18 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
print "-------------------------------------------------"
Codigo Python
Página - 19 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
BD1 = [02,12,14,15,20,21,34]
BD2 = [14,22,27,33,34,45,40]
BD3 = [06,07,21,26,35,42,19]
BD4 = [10,13,21,22,34,45,20]
BD5 = [06,18,19,33,35,40,21]
BD6 = [33,26,19,06,25,18,31]
BD7 = [45,18,22,11,15,13,43]
BD8 = [05,17,13,42,28,44,36]
BD9 = [33,14,20,16,24,38,02]
BD10 = [33,45,37,20,26,05,17]
BD11 = [22,11,14,39,18,05,37]
BD12 = [28,41,07,8,22,37,15]
BD13 = [07,11,32,18,22,24,17]
BD14 = [17,01,9,10,13,28,43]
BD15 = [27,17,31,04,20,9,18]
BD16 = [39,03,25,21,13,02,16]
BD17 = [04,28,10,02,31,33,42]
res = []
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
Página - 20 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
Página - 21 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
Página - 22 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
print "-------------------------------------------------"
print "-------------------------------------------------"
Codigo Python
Página - 23 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
BD1 = [02,12,14,15,20,21,34]
BD2 = [14,22,27,33,34,45,40]
BD3 = [06,07,21,26,35,42,19]
BD4 = [10,13,21,22,34,45,20]
BD5 = [06,18,19,33,35,40,21]
BD6 = [33,26,19,06,25,18,31]
BD7 = [45,18,22,11,15,13,43]
BD8 = [05,17,13,42,28,44,36]
BD9 = [05,17,20,16,24,38,02]
BD10 = [33,45,37,20,26,05,17]
BD11 = [22,11,14,39,18,05,37]
BD12 = [28,41,07,8,22,37,15]
BD13 = [07,11,32,18,22,24,17]
BD14 = [05,17,9,10,13,28,22]
BD15 = [27,17,31,04,20,9,18]
BD16 = [05,17,25,21,13,02,22]
BD17 = [04,28,10,02,31,33,42]
res = []
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
Página - 24 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
res.append(0)
Página - 25 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
res[1]=res[1]+1
Página - 26 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
print "-------------------------------------------------"
print "-------------------------------------------------"
print "-------------------------------------------------"
Página - 27 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
PREGUNTA 4
Con la ayuda de Python, responda si, de todos los sorteos de la Tinka jugados hasta la fecha, se han repetido
6, 5, 4, 3 números y entre que fechas. Calcule el intervalo entre juegos.
Resultados
Página - 28 - de 29
Universidad Nacional de Ingeniería
Facultad de Ingeniería Industrial y de Sistemas
El resultado sería:
Código
#!/usr/bin/env python2.7
import xml.dom.minidom
xmldoc = xml.dom.minidom.parse("resultados.xml")
numeros = []
for res in xmldoc.getElementsByTagName("result"):
for n in res.firstChild.data.split(','):
numeros.append(n)
numerosAgrupados = {}
for i in numeros:
if numerosAgrupados.has_key(int(i)):
numerosAgrupados[int(i)] = numerosAgrupados[int(i)] + 1
else :
numerosAgrupados[int(i)] = 0
values = numerosAgrupados.items()
values.sort(key=lambda x: x[1], reverse=True)
for n in values:
if (n[1] < 7 and n[1] > 2) :
print "el numero", n[0], "se repite", n[1], "veces"
Página - 29 - de 29