ejercico de aplicacion con archivos .txt y modulo turtle

Este programa se creo con la finalidad de poder calcular el valor de resistencias mediante su codigo de colores o bien en su defecto mediante su valor poder conocer la combinacion de colores que tendria dicha resistencia.







from turtle import*
t=Turtle()
t1=Turtle()
t2=Turtle()
t3=Turtle()
t4=Turtle()
t5=Turtle()
w=Turtle()
def colorear():

t.speed(0)
t1.speed(0)
t2.speed(0)
t3.speed(0)
t4.speed(0)
t5.speed(0)
t.fillcolor(222,184,135)
t1.fillcolor(222,184,135)
t1.begin_fill()
t.begin_fill()
t1.penup()
t1.goto(100,57)
t1.pendown()
t.goto(100,0)
t1.goto(0,57)
t.right(45)
t1.left(135)
t.circle(40,270)
t1.circle(40,270)
t.end_fill()
t1.end_fill()
t.hideturtle()
t1.hideturtle()
t2.penup()
t3.penup()
t4.penup()
t5.penup()
t2.goto(0,0)
t3.goto(30,0)
t4.goto(60,0)
t5.goto(90,0)
t2.pendown()
t3.pendown()
t4.pendown()
t5.pendown()
t2.fillcolor(color1[0])
t3.fillcolor(color2[0])
t4.fillcolor(color3[0])
t5.fillcolor(color4[0])
t2.begin_fill()
t3.begin_fill()
t4.begin_fill()
t5.begin_fill()
t2.goto(10,0)
t3.goto(40,0)
t4.goto(70,0)
t5.goto(100,0)
t2.goto(10,57)
t3.goto(40,57)
t4.goto(70,57)
t5.goto(100,57)
t2.goto(0,57)
t3.goto(30,57)
t4.goto(60,57)
t5.goto(90,57)
t2.goto(0,0)
t3.goto(30,0)
t4.goto(60,0)
t5.goto(90,0)
t2.end_fill()
t3.end_fill()
t4.end_fill()
t5.end_fill()
t2.hideturtle()
t3.hideturtle()
t4.hideturtle()
t5.hideturtle()
screen=t.getscreen()
setup(900,500,0,0)
screensize(900,500)
colormode(255)
print("GAMA DE COLORES \n")
print("negro\ncafe\nrojo\nanaranjado\namarillo\nverde\nazul\nmorado\ngris\nblanco\nplata\ndorado")
seleccion=int(numinput("captura","ingresa un 1 si deseas calcular el valor de la resistencia o un 2 \nsi deseas conocer su codigo de colores",1,1,2))
col0=1
col1=0
col2=0
col3=0
col4=0
validacion=1

#eleccion de programa
if (seleccion==1):
w.penup()
w.goto(-400,0)
w.write("GAMA DE COLORES \nnegro\ncafe\nrojo\nanaranjado\namarillo\nverde\nazul\nmorado\ngris\nblanco\nplata\ndorado",font=("Arial",int(10),"bold"))
listacolores=["negro","cafe","rojo","anaranjado","amarillo","verde","azul","morado","gris","blanco"]
listatol=["rojo","dorado","plata"]

#pedir primer color
color1=str(textinput("captura","dame el color de la primera franja"))

for i in range(3):
if(color1 in listacolores):
i=3
col1=1
validacion=1
for j in range(0,10):
if (color1 in listacolores[j]):
ind1=j
else:
color1=str(textinput("captura","el color es incorrecto ingreselo de nuevo"))
validacion=0


#pedir segundo color
if (col1==1):
color2=str(textinput("captura","dame el color de la segnda franja"))
for i in range(3):
if(color2 in listacolores):
i=3
col2=1
for j in range(0,10):
if (color2 in listacolores[j]):
ind2=j
else:
color2=str(textinput("captura","el color es incorrecto ingreselo de nuevo"))
else:
validacion=0


#pedir tercer color
if (col2==1):
color3=str(textinput("captura","dame el color de la tercera franja"))
for i in range(3):
if(color3 in listacolores):
i=3
col3=1
for j in range(0,10):
if (color3 in listacolores[j]):
ind3=j
else:
color3=str(textinput("captura","el color es incorrecto ingreselo de nuevo"))
else:
validacion=0

#pedir cuarto color
if (col3==1):
color4=str(textinput("captura","dame el color de la cuarta franja"))
for i in range(3):
if(color4 in listatol):
i=3
col4=1
validacion=1
for j in range(0,3):
if (color4 in listatol[j]):
ind4=j
else:
color4=str(textinput("captura","el color es incorrecto o no exite ese color de Tolerancia ingreselo nuevamente"))
validacion=0

if (validacion==1):
#for color 1
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==ind1):
color12=str(linea)
color1=color12.split("\n")

n=n+1
#for color 2
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==ind2):
color22=str(linea)
color2=color22.split("\n")

n=n+1
#for color 3
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==ind3):
color32=str(linea)
color3=color32.split("\n")

n=n+1
#for color 4
n=0
archivo=open ("tolerancia.txt","r")
for linea in archivo.readlines():
if (n==ind4):
color42=str(linea)
color4=color42.split("\n")

n=n+1

if(ind4==0):
tol=2
elif(ind4==1):
tol=5
else:
tol=10

colorear()
def resistenciacol():
dec=ind1*10
uni=ind2
multi=10**ind3
resistencia=(dec+uni)*multi
t.write(str(resistencia)+" ohms"+" con %"+str(tol)+" de tolerancia",font=("Arial",int(16),"bold"))
resistenciacol()
else:
t.penup()
t.goto(-200,0)
t.write("se acabaron sus oportinudades \nrevise la gama de colores proporcionada",font=("Arial",int(16),"bold"))
pendown()
t.hideturtle()
print("se acabaron sus oportunidades")
else:
valr=int(numinput("Modulo turtle","dame el valor de la resitencia en ohms",220,1,99000000000))
listavaltol=[2,5,10]
tol=int(numinput("Modulo turtle","dame el valor de la toleranciq (2, 5 o 10)",2,2,10))
for i in range(3):
if (tol in listavaltol):
i=3
m=1
else:
tol=int(numinput("Modulo turtle","el valor de tolerancia dado no existe intentelo de nuevo",2,2,10))
m=0
if (m==1):
mul=1
multiplicador=0
for i in range(0,10):
dig=valr/mul
if ((dig>=1)and(dig<=99)):
i=10;
else:
mul=mul*10
multiplicador=multiplicador+1

dec=dig//10
uni=dig%10

#for color 1
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==dec):
color12=str(linea)
color1=color12.split("\n")


n=n+1


#for color 2
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==uni):
color22=str(linea)
color2=color22.split("\n")

n=n+1

#for color 2
n=0
archivo=open ("coloresresistencias.txt","r")
for linea in archivo.readlines():
if (n==multiplicador):
color32=str(linea)
color3=color32.split("\n")

n=n+1

if (tol==2):
n=0
tol1=0
archivo=open ("tolerancia.txt","r")
for linea in archivo.readlines():
if (n==tol1):
color42=str(linea)
color4=color42.split("\n")
n=n+1
elif(tol==5):
n=0
tol1=1
archivo=open ("tolerancia.txt","r")
for linea in archivo.readlines():
if (n==tol1):
color42=str(linea)
color4=color42.split("\n")
n=n+1
else:
n=0
tol1=2
archivo=open ("tolerancia.txt","r")
for linea in archivo.readlines():
if (n==tol1):
color42=str(linea)
color4=color42.split("\n")
n=n+1
colorear()
else:
t.write("se ingreso demasias veces \nuna tolerancia no valida \n(oportunidades agotadas)",font=("Arial",int(16),"bold"))




screen.exitonclick()

Comentarios

Entradas populares de este blog

formulas para calcular area y volumes de algunos cuerpos en python

ejercicio de aplicacion real

como imprimir figuras en python