try: #VALIDA QUE LO INGRESADO SEA LO QUE SE PIDE
articulos=int(input("NUMERO DE ARTICULOS: "))
precio=int(input("COSTO ? "))
print("PAGA: "+ str(articulos*precio))
#(bool(input('SERA? ')))
# str, float, long, double
except:
print("ERAN CANTIDADES NUMERICAS!!")
#PROGRAMA 2
ana =18
if ana>=18: #CONDICION
print("ERES MAYOR DE EDAD")#SI CUMPLE LA CONDICION MUESTRA ESTO
else:
print("ERES MENOR DE EDAD")#DE NO CUMPLIRSE MUESTRA ESTO
a=28
if a<22:#CONDICION
print("DENTRO DEL IF")
elif a==25:
# SI LA PRIMERA CONDICION NO SE CUMPLIO SE VA A ESTA CONDICION
#EL ELIF TE HACE LA IDENTACION DE PONER EL IF Y EL ELSE
print("DENTRO DEL ELIF")#
else:
print("NO MAYOR QUE 22 Y NO IGUAL A 25")
#PROGRAMA 3
import math #IMPORTAMOS LA LIBRERIA
n=int(input('DAME UN NUMERO: '))#PIDE NUMERO ENTERO
if n<0:
print('NO PUEDE SER NEGATIVO EL NUMERO')
else:
print('LA RAIZ DEL NUMERO', n, 'ES', (math.sqrt(n)))
#ESTO MUESTRA LA RAIZ CON LAS DECIMALES
print('LA RAIZ DE {0} ES {1:.2f}'.format(n,math.sqrt(n)))
#ESTIO MUESTRA LA RAIZ CON SOLO 2 DECIMALES
#PROGRAMA 4
cal=int(input("DAME LA CALIFICACION OBTENIDA "))#PIDE NUMERO ENTERO
if cal>=90: #CONDICION
print("ES UNA A")#SI SE CUMPLE MUESTRA ESTO
else: #DE LO CONTARIO
if cal>=80: #CHECA CON ESTA CONDICION
print("ES UNA B")#SI SE CUMPLE MUESTRA ESTO
else: #DE LO CONTRARIO
if cal>=70: #CHECA CON ESTA CONDICION
print("ES UNA C")
else:
if cal>=60:#CHECA CON ESTA CONDICION
print("ES UNA D")
else:
print("ES UNA F")
#USANDO IF Y ELSE SE VUELVE MUY TARDADO LA ESCRITURA DE CODIGO POR LO QUE SE USA MEJOR UN ELIF
#EL ELIF HACE UN IF-ELSE AL MISMO TIEMPO, EL ELIF ES SIMILAR A UN SWITCH CASE EN 'C'
cal=int(input("DAME LA CALIFICACION OBTENIDA "))
if cal>=90:#CONDICION
print("ES UNA A")#MUESTRA ESTO
elif cal>=80: #DE LO CONTARIO SI ES ESTO, CASE 1
print("ES UNA B")
elif cal>=70:#CASE 2
print("ES UNA C")
elif cal>=60: #CASE 3
print("ES UNA D")
else: #AQUI EL ES SI NINGUNA DE LAS CONDICIONES SE CUMPLIERON, ES COMO EL DEFAULT DEL SWITCH
print("ES UNA F")
#PROGRAMA 5
var=-1#DECLARACION DE VARIABLE
if var>0: #CONDICION
print('VALOR POSITIVO')
else:
#DE LO CONTARRIO
print('NEGATIVO')
#OPERADORES TERNARIOS
#5>2? 1:2 ESTRUCTURA DEL TERNARIO EN C, CONDICION O PREGUNTA? 'SI': 'NO'
var1=-1
print('POSITIVO' if var>0 else 'NEGATIVO')
#TERNARIO PYTHON :
# 'SI' PREGUNTA ELSE 'NO'
#PEDIR EDAD E IMPRIMAR SI ES MAYOR DE EDAD O NO
num1=int(input('DAME NUM1: ')) #EDAD 1
num2=int(input('DAME NUM2: ')) #EDAD 2
may= num1 if num1>num2 else num2 #COMAPRA EDADES MEDIANTE EL TERNARIO
print('MAYOR: ', may)#MUESTRA EL MAYOR
print(('{} {}'.format("MAYOR" ,num1) if num1>num2 else ('{} {}'.format("MENOR " ,num2) )))
#'SI SE CUMPLE MUESTRA NUM1 EN ESTE FORMATO' 'SI NUM1 MAYOR A NUM2' 'SI NO MUESTRA NUM 2 '
#TERNARIO CON 3 NUMEROS, BUSCA EL MENOR
num3=int(input('DAME NUM3: '))#PIDE OTRO NUMERO
menor= num1 if(num1<=num2) else (num2 if (num2<=num3) else num3)
'''EL MNOR ES IGUAL A NUM1 SI SE CUMPLE LA CONDICION SINO ES (USANDO OTRO TERNARIO)
NUM 2 SI SECUMPLE LA CONDIC SINO ES NUM 3'''
print(menor) #MUESTRA EL MENOR
#TERNARIO CON 4 NUMEROS
num4=int(input('DAME NUM4: '))#PIDE EL OTRO NUMERO
menor= (num1) if(num1<num2) else ( (num2) if (num2<num3) else ( (num3) if (num3<num4) else num4 ) )
''' MENOR ES NUM 1 SI SE CUMPLE LA CONDIC SINO (USANDO OTRO TERNARIO) NUM2 SI SE CUMPLE SINO
(USANDO OTRO TERNARIO) NUM3 SI SE CUMPLE LA CONDIC DINO ES NUM4
print (menor)#MUESTRA AL NUMERO
#PROGRAMA 6
import random#IMPORTA LA LBRERIA
print(random.randint (0,100))#SIEMPRE SE ESTAN MISTRANDO NUMEROS ALEATORIOS
(a,b,c,d)=(1,2,3,4) if (random.randint (0,100)>50) else (5,6,7,8)#NUMERO ALEATORIO
#SI EL ALEATORIO ES MAYOR A 50 ASIGNA LOS NUMEROS A LA TUPLA
print(a,b,c,d)#MUESTRA VAÑLORES
t=10
s=20
mayor=(s,t)[t>s]#SI T ES MAYOR A S, MAYOR ES S SINO ES T
#ASIGNCAION MULTIPLE CON CONDICIONANTES
print("MAYOR",mayor)
menor=(s,t)[t<s]#SI T ES MENOR A S,
print("MENOR",menor)
#PROGRAMA 7
#!/usr/bin/python
#-*- coding: utf-8 -*-
edad=0 #VARIABLE IGUALADA
while edad<5: #PREGUNTA SI EDAD ES MENOR A 0
edad=edad+1 #AUMENTA EN 1 LA VARIABLE
if edad==1: #PREGUNTA SI EDAD ES 1
print("FELICIDADES TIENES "+ str(edad)+ " AÑO")#MUESTRA LETTERRO
else:
print("FELICIDADES TIENES "+ str(edad)+ " AÑOS")# DE YA NO SER 1 MOSTRAR ESTO
#CICLO HASTA EDAD ES MENOR A 5
#PROGRAMA 8
#salir=1
#while (salir)
salir=True #VARIABLE BOOOL'''
while salir: #MIENTRAS SALIR SEA TRUE'''
print('ENTREEE')
salir=False #CAMBIO DE TRUYE A FALSE LO QUE HACE QUE SALGA DEL WHILE
# Y MUESTRA LETRERO
entrada=input('DI ALGO: ')#PIDE UNA CADENA
if entrada =='ADIOS': #SI LA PALABRA FUE ADIOS SERIA UN 'BREAK'
print('NO PUEDE BREAK') #PERO EL BREAK SOLO PARA CICLOS
#MUESTRA LETRERO
else: #SINO ES 'ADIOS '
print(entrada, salir)#MUESTRA LO INGRESADO
while not salir: #MIENTRAS SALIR NO SEA TRUE, SEA FALSE
entrada=input('> : ') #VUELVE A PEDIR UNA ENTRADA
if entrada=='ADIOS': #SI SE INGRESA UN 'ADIOS'
break#SE ROMPE EL WHILE
else:
print(entrada)#MUESTRA ENTRADA
print('LO QUE SIGUE ')#SALE DE LOS CICLOS
#PROGRAMA 9
import os
os.system('clear')
bandera=True#DECLARACION DE BANDERA EN BOOLEANA TRUE
c=0#CONTADOR EN 0
while(bandera): #MIENTRAS BANDERA SEA TRUE
edad=int(input('EDAD : '))#PIDE DATO ENTERO, EDAD
if edad<18 or edad>80:#SI EL DATO PEDIDO NO ESTA EN EL RANGO DE 18 A 80
print('EDAD NO VALIDA')#MUESTRA LETRERO
elif edad ==21:#SI SE UNGRESA UN 21
print('ALL THE WORLD AND LATINOAMERIC')#MUESTRA LETRERO
c=c+1#POR CADA INGRESO DE CUALQUIER DATO, EL CONTADOR AUMENTA EN 1
#print(c)
if c==5: #SI SE LLEGA A 5 INGRESOS
bandera=False#BANDERA ES FALSE Y SALE DEL WHILE
b=True#VARIABLE BOOLEANA EN TRUE
while b:#MIENTRAS b SEA TRUE
e=int(input('DAME TU EDAD: '))#PIDE UN DATO ENTERO, EDAD
if e>=18 and e<=81:#LA EDAD DEBE DE ESTAR ENTRE 18 Y 81
if e>=18 and e<21:#SI SE INGRESA UN DATO ENTRE 18 Y 21
print('PERMISO EN LATINOAMERICA')#MUESTRA LETRERO
elif e>=21:#SI SE INGRESA UNO MAYOR A 21
print('VALIDO EN EL MUNDO')#MUESTRA LETRERO
b=False
#PROGRAMA 10
#FIBONACCIO
a=0
b=1
while(b<10): #MIENTRAS B SEA MENOR A 10, 10 ES EL TOPE DA LA SERIA
print(b) #MUESTRA EL VALOR DE B
a,b=b, a+b #NUEVOS VALORES a = b Y b=a+b
tope= int(input('DAMER EL TOPE DE LA SERIE: '))#PIDE EL LIMITE DE LA SERIE
a,b=0,1#VALORES INICIALES
fibo=[]#LISTA PARA LOS VALORES
while(b<tope): #MIENTRAS b SEA MENOR AL LIMITE
a,b=b, a+b#REALIZA NUEVOS VALORES
fibo.append(a)#Y LOS AGREGA EN LA LISTA
print(fibo)#MUESTRA LA LISTA
#PROGRAMA 11
a,b=0,1#DECALACION DE VALORES Y VARIABLES
while b<=1000:#MIENTRAS NO SE LLEGUE AL VALOR 1000
print(b,end=' ')#REALIZA LA IMPRESION DE b PERO SIN DAR UN SALTO DE LINEA
a,b=b,a+b
#PROGRAMA 12
pw='1234' #VARIABLE TIPO CADENA
usr='brayan'#CADENA
p=0#CONTADOR DE INTENTOS EN PSW
u=0#CONTADOR DE INTENTOS EN USR
usr1=input('DAME USUARIO: ')#PIDE EL USUARIO
while usr1!=usr: #MIENTRAS NO SEA EL MISMO USUARIO
u=u+1#AUMENTA EL CONTADOR
print('INTENTOS',u)
usr1=input('DAME EL USUARIO BIEN: ')#VUELVE A PEDIR EL USUARIO
if usr1==usr: #SI SE INGRESA CORRECTO
print('HOLA', usr1)#MUESTRA LETRERO
break#Y SALE DEL BUCLE
if u==3: #SI SE EXCEDEN DE LOS 3 INTENTOS SALE
print('ADIOS')
break
pw1=input('DAME EL PASSWORD: ')#PIDE EL PASSWORD
while pw1!=pw: #MIENTRAS NO SEA EL MISMO PASSWORD
p=p+1#AUMENTA EL CONTADOR
print('INTENTOS',p)
pw1=input('DAME EL PASSWORD BIEN: ')#VUELVE A PEDIR
if pw1==pw:
print('BIENVENIDO', usr1)
break#Y SALE DEL BUCLE
if u==3: #SI SE EXCEDEN DE LOS 3 INTENTOS SALE
print('ADIOS')
break#Y SALE DEL BUCLE
c=0#CONTADOR
import getpass
user=getpass.getuser()#PIDE EL USUARIO
while True:
pwd=getpass.getpass('USUARIO: %s' % user)#MUESTRA EL USUARIO CORRECTO
if pwd=='pi':#SI SE INGRESA EL USUARIO CORRECTO
print('BIENVENIDO')#MUESTRA LETRERO
break#Y SALE DEL BUCLE
else:
c=c+1#SINO EL CONTADOR AUMENTA
print('INCORRECTO')#MUESTRA LETRERO
if c==3:#SI SE LLEGAN A 3 INTENTOS
break#SALE DE BUCLE
#PROGRAMA 13
sec=['UNO', 'DOS', 'TRES', 'CUATRO']#LISTA CON ITEMS DE CADENAS
for i in sec: #EL BUCLE FOR TIENE ESTA ESTRUCTURA: for VARIABLE INICIADA EN 0
#AUTOMATICAMENTE in QUE ES DENTRO O EN Y OBJETO
print (i)#IMPRIME EL ITEM DE ACUERDO A LA POSC i DE LA LISTA
palabra=['GATO', 'PERRO', 'SOL', 'LUNA']#LISTA CON ITEMS DE CADENAS
for p in palabra:#BUCLE FOR PARA LA LISTA
print(p, " ", len(p))#IMPRIME LOS ITEMS DE ACUERDO ALA POSC i EN LA LISTA Y SU LONGITUD
#PEDIR AL USUARIO 4 ITEMS Y UNA VEZ CAPTURADOS
#GUARDARLOS EN UNA LISTA E IMPRIMIRLA
li=[]#LISTA VACIA
cant=int(input('ARTICULOS ?: '))#NUMERO DE ITEMS
for c in range(cant): #FOR PARA PEDIR LA CANTIDAD DE ITEMS
dato=int(input("DAME DATO: "))#PIDE LOS ITEMS
li.append(dato)#AGREGA ITEMS A LA LISTA
print(li)#MUESTRA LISTA
for a in range(8):#ESTE FOR TIENE UN TOPE DE 8, YA QUE EMPIEZA EN 0 Y TERMINA EN 7
print(a)#MUESTRA NUMEROS DEL 0 AL 7
for a in range(5,11):#ESTE FOR TIENE UN TOPE DE 6 , YA QUE EMPIEZA EN 5 Y TERMINA EN 10
print(a)#MUESTRA NUMEROS DEL 5 AL 10
for x in range (-10, -101, -30): #INICIO, FIN, SALTOS
#EMPIEZA EN -10 TERMINA EN -101 Y DA SALTOS DE -30
print (x)#EMPIEZA EN -10 LUEGO -40, -70 Y -100
for i in range(1,11): #TABLA DEL 5, EMPIEZA EN 1 Y TERMINA EN 10
#print('5 *',i,'=',5*i)
print("{0} * {1:2} ={2:2}".format(5,i,5*i))#FORMATO PARA LA TABLA
#5 i CON 2 TAPS = 5*i CON 2 TAPS
#CAPTURE UN POEMA
#PEDIR PRIMERO LOS VERSOS LUEGO INGRESARLOS Y MOSTRARLOS EN UNA LISTA
lin=int (input('CUANTOS VERSOS: '))#PIDE VERSOS
lis=[]#DECLARACION DE LISTA
for i in range(lin):#FOR PARA PEDIR LOS VERSOS
verso= input('VERSO: '+ str(i+1))
#print (i)
lis.append(verso)#AGREGA VERSOS A LA LISTA
print(lis)#MUESTRA LISTA CON LOS VERSOS
print('\n POEMA: \n')
for i in range (lin):#FOR PARA IMPRIMIR LOS VERSOS
poema=lis[i]#EL POEMA COMPLETO SON LOS VERSOS EN LA POSC i
print('\t',poema)#MUESTRA POEMA
#PROGRAMA 14
for num in range(2,10): #FOR QUE EMPIEZA EN 2 Y TERMINA EN 9
if num%2==0: #SI EL NUM DESDE 2 A 9 SU MODULO AL DIVIDIRSE ENTRE 2 ES 0
print('PAR ', num)#MUESTRA EL NUMERO U LETREARO PAR
continue # ESTE CONTINUE ES PARA IRSE A LA SIGUIENTE ITERACION
print('NO PAR ', num)# SI NO FUE SU MODULO 0, MUESTRA EL NUMERO Y LETRERO IMPAR
while True:
#print('PARA TERMINAR CTRL + C')
pass#ESPERA HASTA UN CONTROL + C
'''CONTINUE ES PARA SALTA LA SIGUIENTE LINEA DESPUES DEL CONTINUE
BREAK ES PARA SALIR DEL BUCLE
WHILE TRUE O FALSE ES PARA BUCLES CON BANDERAS
PASS ES PARA CERRAR EL PROGRAMA CON CTRL C'''
#PROGRAMA 15
import sys
print('VERSION DEL PYTHON ', sys.version_info[0])
for n in range(2,10): #FOR QUE EMPIEZA EN 2 Y TERMINA EN 9
for x in range(2,n): #FOR QUE EMPIEZA EN 2 Y TERMINA EN n
print('n', n, ' ' ,x)#MUESTRA EL VALOR DE n LUEGO EL VALOR DE x, QUE SIEMPRE ES 2
if(n%x==0): #SU EL MODULO DE n ENTRE x ES 0
print(n, 'PAR')#MUESTRA EL NUM n Y QUE ES PAR
break#SALE DEL BUCLE FOR DE x
else:
print(n, 'IMPAR ')#SINO MUESTRA IMPAR
break#SALE DEL BUCLE FOR DE n
'''
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
'''
#MUESTRA UN ARREGLO DE VECTORES QUE SE ASEMEJA A UNA MATRIZ
n=1#VARIABLE DE MANIPULACION
for i in range(4): #RECORRE FILAS
for j in range(0,4): #RECORRE COLUMNAS
print('{0:2}'. format(n), end = ' ')#IMPRIME LA n SIN SALTO DE LINEA
#if len(n)==1:
#print(n,end=' ')
n=n+1 #AMUENTA n EN 1
print('')#DA UN SALTO Y VUELVE AL FOR
#1 5 9 13
#2 6 10 14
#3 7 11 15
#4 8 12 16
n=1
z=1#VARIABLES DE MANIPULACION
for r in range(4):
for c in range(0,4):
print('{0:2}'. format(n+r),end= ' ') #IMPRIME EL VALOR DE n+r SIN SALTO DE LINEA
n=n+4 #AMUENTA n EN 4
print('')#DA UN SALTO Y VUELVE AL FOR
#z=z+1
#n=z
#PROGRAMA 16
'''PEDIR AL USUSARIO DATOS PARA DOS MATRICES DE 3X3
MULTIPLICAR LA MATRIZ A POR B Y PONER EL RESULTADO EN MATRIZ C'''
tamlis=int(input('CUANTOS ITEMS?: '))#PIDE LOS ITEMS DE LA MATRIZ
l=[]#DATOS PARA LA MATRIZ 1
l2=[] #DATOS PARA LA MATRIZ 2
l3=[]#MATRIZ DE RESULTADO
#MATRIZ 1
for i in range(tamlis): #FOR PARA EL INGRESO DE DATOS
#DE ACUERDO AL NUMERO DE ITEMS
#INGRESO A LAS FILAS
print('ESTAS EN LA POSC: ', i)#MUESTRA LA POSICION EN LA MATRIZ
l.append([])#AGREGA UN ITEM VACIO
for j in range(tamlis): #FOR PARA EL INGRESO DE DATOS
#DE ACUERDO AL NUMERO DE ITEMS
#INGRESO A LAS COLUMNAS
l[i].append(int(input('DAME LA ENTRADA: ')))#PIDE EL DATO
print('')#SALTO
print(l)#MUESTRA LA MATRIZ EN FORMA DE LISTA
print('')
#MATRIZ 2
for i in range(tamlis): #FOR PARA EL INGRESO DE DATOS
#DE ACUERDO AL NUMERO DE ITEMS
#INGRESO A LAS FILAS
print('ESTAS EN LA POSC: ', i)
l2.append([])#ITEM VACIO
for j in range(tamlis): #FOR PARA EL INGRESO DE DATOS
#DE ACUERDO AL NUMERO DE ITEMS
#INGRESO A LAS COLUMNAS
l2[i].append(int(input('DAME LA ENTRADA L2: ')))#PIDE EL DATO
print('')
print(l2)#MUESTRA LA MATRIZ EN LISTA
print('')
#MATRIZ DE RESULTADO
for i in range(tamlis): #FOR PARA INGRESO
#FILAS
l3.append([])#ITEM VACIO
for j in range(tamlis): #COLUMNAS
#print('SUBLISTA', l[i][j])
t=((l[i][j]))#VARIABLE DECLARADA COMO EL ITEM EN
#FILA- COLUMNA DE MATRIZ 1
#print('SUBLISTA', l2[i][j])
t1=((l2[i][j]))#VARIABLE DECLARADA COMO EL ITEM EN
#FILA- COLUMNA DE MATRIZ 2
t3=t*t1#RESULTADO DE MULTIPLICAR ITEM A ITEM DE LAS MATRICES
#l3[i].append(l[i]*l2[i])
l3[i].append(t3)#AGREGA EL RESULTADO A UNA LISTA
print('')
#print(l3)
#MUESTRA LA MATRIZ 1
print('MATRIZ 1 \n')
for j in range(tamlis):
print('')
for i in range(tamlis):
print(l[i][j], " ", end=' ')#MUESTRA LA MATRIZ SIN SALTOS
print('')
#MUESTRA LA MATRIZ 2
print('MATRIZ 2 \n')
for j in range(tamlis):
print('')
for i in range(tamlis):
print(l2[i][j], " ", end=' ')#MUESTRA LA MATRIZ SIN SALTOS
print('')
print('IGUAL A ============')
#MUESTRA LA MATRIZ DEL RESULTADO
for j in range(tamlis):
print('')
for i in range(tamlis):
print(l3[i][j], " ", end=' ')
print('')
#PROGRAMA 17
archivo=open("U3P17.txt", "r")#ABRE UN DOCUMENTO EN ESTA RUTA
#PYTHON DE WINDOWS O CUANDO SE SABE LA UBICACION: archivo=open("doc1_U3_P17.txt","r")
'''ARCHIVO DE TEXTO CREADO EN LA CARPETA DE DOCUMENTOS
CON EL MENSAJE SIGUENTE:
ES UN ARCHIVO TXT PARA SER LEIDO
EN PYTHON CON
EL MODO R'''
contiene=archivo.read()#LEE EL ARCHIVO
print(contiene)#MUESTRA EL CONTENIDO
archivo.close()#CIERRA EL ARCHIVO
#bmr=open("/home/pi/Documents/doc1_U3_P17.txt", "r")
bmr=open("doc1_U3_P17.txt","r")#ABRE EL ARCHIVO
linea=bmr.readline()#LEE UN A LINEA DEL DOCUMENTO
print(linea)#MUESTRA LINEA LEIDA
print("\n")
bmr.seek(20)#SE POSICIONA EN EL CARACTER NUMERADO
linea2=bmr.readline()#Y LEE CON NORMALIDAD APARTIR DEL CARACTER
print(linea2)#MUESTRA EL TEXTO LEIDO
bmr.close()#CIERRA ARCHIVO
#PROGRMA 18
#f=open("U3P17.txt", "r")#ABRE ARCHIVO
f= open("doc1_U3_P17.txt","r")
mensaje=f.read()#LEE EL ARCHIVO
print(mensaje)#MUESTRA
f.close()
print("\n==============================")
#ARCHIVO DE ENTRADA CON WITH AS
with open ("/home/pi/Documents/doc1_U3_P17.txt", "r") as f:#OTRO MODO DE LEER EL ARCHIVO:
# with open ("doc1_U3_P17.txt","r") as f:
contenido=f.read()#LEE EL CONTENIDO
print(contenido)#MUESTRA EN PANTALLA
f.close()#CIERRA ARCHIVO
#with open("holamundo.txt", "r") as f:
with open("holamundo.txt", "r") as f: #ABRE EL DOCUMENTO
linea1=f.readline()#LEE LA PRIMER LINEA DEL DOCUMENTO
linea2=f.readline()#LEE LA LINEA 2
linea3=f.readline()#LEE LA LINEA 3
print(linea1)#MUESTRA LA PRIMER LINEA LEIDA Y DA UN ENTER
print(linea2)#MUESTRA LA LINEA 2
print(linea3)#MUESTRA LINEA 3
f.close()#CIERRA ARCHIVO
#with open ("holamundo.txt", "r") as f:
with open("holamundo.txt", "r") as f: #ABRE EL DOCUMENTO
e=(linea for i, linea in enumerate(f) if i>=0 and i<=2)
#ESTO ES UNA CLASE YA QUE e CONTIENE VARIAS ESTRUCTURAS
'''COMO linea NO TIENE VALOR, SE LE ASIGNARA EL VALOR DE ENUMERAR
LAS LINEAS DEL ARCHIVO LEIDO, Y EL if ES PARA QUE EMPIECE
DESDE 0 Y HASTA DONDE SE QUIERA '''
print(e)# MUESTRA EL MSJ:
#<generator object <genexpr> at 0x00000215B2522B30>
print('CONTENIDO' )
for linea in e: #FOR PARA RECORRER LINEA POR LINEA
print(linea)#MUESTRA LAS LINEAS
f.close()#CIERRA
#with open ("/home/pi/Documents/holamundo.txt", "r") as f:
with open("holamundo.txt", "r") as f: #ABRE EL DOCUMENTO
cont=f.read(4)#ENUMERA CARACTERES
print(cont)#MUESTRA LOS CARACTERES
f.close()#CIERRA
#with open ("/home/pi/Documents/holamundo.txt", "r") as f:
with open("holamundo.txt", "r") as f: #ABRE EL DOCUMENTO
cont=f.readlines()#VE CARACTERES OCULTOS DEL ARCHIVO
print(cont)#MUESTRA EL ARCHIVO CON TDOS LOS CARACTERES OCULTOS
f.close()#CIERRA
#with open ("/home/pi/Documents/holamundo.txt", "r+") as f:
with open("holamundo.txt", "r+") as f: #ABRE EL DOCUMENTO Y ESCRIBE EN EL
cont=f.read()#LEE EL ARCHIVO
fin=f.tell()#SE POSCIONA AL FINAL
f.write('\n' + 'NO MAS OTRO HOLA')#ESCRIBE TEXTO
f.seek(fin)#POSICIONA EN EL FIN ANTES DE ESCRIBIR
uescrito=f.read()#VUELVE A LEER DESPUES DE LA ESCRITURA
print(uescrito)#MUESTRA LO ESCRITO
f.close()#CIERRA
'''AL ABRIR NUEVAMENTE EL ARCHIVO MEDIANTE EL EXPLORADOR DE ARCHIVOS
ESTE SE HABRA MODIFICADO Y SE MOSTRARA EL TEXTO AGREAGADO'''
#with open ("holamundo.txt", "r+") as f:
with open("holamundo.txt", "r+") as f: #ABRE EL DOCUMENTO
cont=f.read()#LEE EL ARCHIVO
f.write('\n'+'SI ESTOY AQUI OTRA VEZ')#ESCRIBE ESTE TEXTO
f.close()#CIERRA
'''AL ABRIR NUEVAMENTE EL ARCHIVO MEDIANTE EL EXPLORADOR DE ARCHIVOS
ESTE SE HABRA MODIFICADO Y SE MOSTRARA EL TEXTO AGREAGADO'''
#PROGRAMA 19
lin=int (input('CUANTOS VERSOS: '))#PIDE VERSOS
lis=[]#DECLARACION DE LISTA
for i in range(lin):#FOR PARA PEDIR LOS VERSOS
verso= input('VERSO: '+ str(i+1) + ' ')
#print (i)
lis.append(verso)#AGREGA VERSOS A LA LISTA
print(lis)#MUESTRA LISTA CON LOS VERSOS
print('\n POEMA: \n')
for i in range (lin):#FOR PARA IMPRIMIR LOS VERSOS
poema=lis[i]#EL POEMA COMPLETO SON LOS VERSOS EN LA POSC i
print('\t',poema)#MUESTRA POEMA
f= open("poema.txt","w+")#EL "a" ES PARA CREAR UN NUEVO ARCHIVO
#PYTHON LO CREA SOLO
f.write( "POEMA: "+ "\n"+ '\n')
for i in range (lin):
poema=lis[i]
f.write('\t'+ poema+ '\n')#SE ESCRIBE EN EL ARCHIVO LO INDICADO
#POEMA: (SALTO DE LINEA) Y EL CONTENIDO DEL POEMA
'''PARA CORROBARAR QUE SE CREO EL ARCHIVO DIRIJASE A DOCUMENTOS Y BUSQUE
EL ARCHIVO CON EL NOMBRE QUE SE PROPUSO: poema.txt '''
f.close()#CIERRA ARCHIVO
#PEDIR UNA CADENA DE CARACTERES LUEGO LAS VOCALES ESCRBIRLAS EN UN ARCHIVO
cadena=input('DAME UNA CADENA: ')#PIDE CADENA
#with open("/home/pi/Documents/VOC.txt", "a") as f:
with open("VOC.txt", "a") as f: #CREA Y ABRE UN ARCHIVO NUEVO
for i in cadena: #RECORRE LA CADENA CARACTER POR CARACTER
if (i=='A' or i=='E' or i=='I' or i=='O' or i=='U'):
f.write(i) #SI DETECTA UNA VOCAL LA ESCRIBE
f.close()#CIERRA
'''IR AL EXPLORADOR DE ARCHIVOS
ABRIR EL ARCHIVO CREADO Y SE VERAN LAS VOCALES DE LA CADENA'''
#PROGRAMA 20
lengua=['ALGON', 'BASIC', 'C', 'DELPHI', 'EIFEL']#LISTA CON CADENAS
print(list(enumerate(lengua)))#MUESTRA LA LISTA ENUMERADA
#ENUMERATE ENUMERA UNA COLECCION DE FORMA ITERABLE
#PROGRAMA 21
archivo=open('prueba.txt', 'r')#ABRE ARCHIVO EN MODO LECTURA
contenido= archivo.read()#LEE ARCHIVO
archivo.seek(0)#SE MUEVE AL BYTE INDICADO
archivo.close()#CIERRA
#PROGRAMA 22
'''read ([byes])LEE TODO EL CONTENIDO, SI SE PASA DE LA LONGITUD DE BYTES LEERA SOLO
HASTA LA LONGITUD INDICADA'''
archivo=open('prueba.txt', 'r')#ABRE ARCHIVO EN MODO LECTURA
contenido= archivo.read(3)#LEE ARCHIVO COMPLETO, SE INDICA EN EL ARGUMENTO CUANTOS BYTES
print(contenido)
archivo.close()#CIERRA
#PROGRAMA 23
'''readlines() LEE TODAS LAS LINEAS DE UN ARCHIVO'''
archivo=open('prueba.txt', 'r')#ABRE ARCHIVO EN MODO LECTURA
for linea in archivo.readlines():#LINEA 0 HASTA QUE TERMINE
print(linea)#MUESTRA LINEAS
#PROGRAMA 24
'''tell() RETORNA A LA POSICION ACTUAL'''
archivo = open("prueba.txt", "r")#BRE ARCHIVO
linea1 = archivo.readline()#LEE LA LINEA 1
mas = archivo.read(archivo.tell() * 2)#RETORNA DONDE ESTA EL PUTERO DESPUES DE LECTURA Y LO MULTIPLICA POR 2
#LEE A PARTIR DE LA POSC DE L REULTADO DE LA MULTIPLICACION
if archivo.tell() > 50:#SI SE LEEN 50 LINEAS
archivo.seek(50)#BUSCA EL BYTE 50
#PROGRAMA 25
#write(cadena) ESCRIBE CADENA DENTRO DEL ARCHIVO
archivo = open("prueba.txt", "r+")#ABRE ARCHIVO PARA LEER Y ESCRIBIR
contenido = archivo.read()
final_de_archivo = archivo.tell()#RETORNA DONDE ESTA EL PUTERO DESPUES DE LECTURA
archivo.write(' NUEVA LINEA')#ESCRIBE NUEVA LINEA
archivo.seek(final_de_archivo)#SE MUEVA A DICHA POSICION
nuevo_contenido = archivo.read()#VUELVE A LEER
print (nuevo_contenido)#MUESTRA LO RESULTANTE
archivo.close()#CIERRA
'''ELABOREN UN PROGRAMA EN DONDE LE PIDAN AL USUARIO UNA
CADENA UNA VEZ CON ELLA DETERMINEN EN DONDE HAY UN ESPACIO EN BLANCO.
EN CADA ESPACIO EN BLANCO IMPRIMAN LA POSICION DEL MISMO
'''
e=open("VeC.txt","w+")#ESCRIBE Y LEE, CREA Y SOBREESRIBE
cadena=input("DAME CADENA: ")#PIDE CADENA
e.write(cadena)#LA SESCRIBE EN ARCHIVO
e.close()#CIERRA
with open("VeC.txt","r+") as f:#ABRE ARCHIVO
contenido=f.read() #LEE TODO
for i in contenido:#RECORRE EL ARCHIVO
c=i
if (i==' '):#SI DETECTA UN ESPACIO EN BLANCO
pos=f.tell()#RERORNA DONDE ESTA EL PUTERO DESPUES DE LECTURA
print(pos)#MUESTRA POS
print('ESPACIO EN BLANCO:')#MUESTRA LETRERO
else:
print('CARACTER')#SI NO ES UN CARACTER
f.close()#CIERRA
#PROGRAMA 26
tot=6#NUMERO DE NOMBRES
lic=[]#LISTA CON LOS NOMBRES
while(tot):#MIENTRAS NO SEA 0
lic.append(input("DAME UN NOMBRE "))#PIDE UN NOMBRE Y LO AGREGA A
#LA LSITA
tot=tot-1#CONTINUA HASTA QUE ESTA VARIABLE SEA 0
print(lic)#MUESTRA LA LISTA
archivo=open("nuevo.txt","a+")#CREACION DE UN ARCHIVO, LECTURA Y ESCRITURA
c=0#CONTADOR
while True:
cad=lic[c]#CADENA DEL ARCHIVO ES EL NOMBRE EN LA POSICION c DE LA LISTA
if(c==0):#REORRE LA LISTA, POSC 0
print("cero",cad)
archivo.write("\t"+cad)#ESCRIBE LA CADENA CON UN TAB AL PPO
if (c==1):#REORRE LA LISTA, POSC 1
print("uno",cad)
archivo.write("\t"+cad)#ESCRIBE LA CADENA CON UN TAB AL PPO
if(c==2):#REORRE LA LISTA, POSC 2
print("dos",cad)
archivo.write("\t"+cad+"\n")#ESCRIBE LA CADENA CON UN TAB AL PPO
#Y UN SALTO DE LINEA AL FINAL
if (c==3): #REORRE LA LISTA, POSC 3
print("tres",cad)
archivo.write("\t"+cad)#ESCRIBE LA CADENA CON UN TAB AL PPO
if (c==4): #REORRE LA LISTA, POSC 4
print("cuatro",cad)
archivo.write("\t"+cad)#ESCRIBE LA CADENA CON UN TAB AL PPO
final=archivo.tell()
archivo.seek(final)#SE POSICIONA EN EL BYTE FINAL
if c==5:#REORRE LA LISTA, POSC 5
print("se sale",cad)
archivo.write("\t"+cad)#ESCRIBE LA CADENA CON UN TAB AL PPO
break#ROMPE EL CICLO
c=c+1#EL CONTADOR AUMENTA EN 1
nuevo=archivo.read()#LEE EL ARCHIVO
print(nuevo)
archivo.close()#CIERRA
#PROGRAMA 27
filas=int(input('DAME EL NUMERO DE FILAS: '))#PIDE EL NUM DE FILAS DE LA MATRIZ
columna=int(input('DAME EL NUMERO DE COLUMNAS: '))#PIDE CLUMNAS DE LA MATRIZ
while filas!=columna: #EN CASO QUE EL NUM DE LAS FILAS Y COLUMNAS NO SEAN IGUALES
print('MATRIZ NO CUADRADA')#MUESTRA LETRERO
filas=int(input('DAME EL NUMERO DE FILAS: '))
columna=int(input('DAME EL NUMERO DE COLUMNAS: '))
#VUELVE APEDIR LAS FILAS Y COLUMNAS
archivo=open("matriz.txt","a+")#CREA UN ARCHIVO PARA LECTURA Y ESCRITURA
m1=[]#DECLARACION DE LISTA PARA LA MATRIZ
for i in range(filas):#FOR PARA LAS FILAS
print('FILA', i+1 ) #MUESTRA LA FILA EN LA QUE SE ESTA
m1.append([])#AGREGA ITEM VACIO
for j in range(columna):#FOR PARA COLUMNAS
print('COLUMNA', j+1 )#MUESTRA COLUMA EN QUE SE ESTA
m1[i].append(input('ITEM: '))#PIDE LOS ITEMS
print('\n')
print(m1)#MUESTRA LA MATRIZ
for i in range(filas):# RECORRE LA MATRIZ CON LOS ITEMS
for j in range(columna):
item=m1[i][j]#IGUALACION DE UNA VARIABLE CON EL ITEM DE LA MATRIZ
archivo.write('\t' + item)#ESCRIBE EL ITEM EN EL ARCHIVO CON UN TAB PREVIO
if (j+1)==columna:#SI SE ENCUENTRA EN LA ULTIMA COLUMNA SIN IMPORTAR LA FILA
archivo.write( '\n')#AL FINAL DEL ITEM AGREGAR UN SALTO DE LINEA EN EL ARCHIVO
archivo.close()#CIERRA
#PROGRAMA 28
listas=["\nCUANDO\n", "ESTABAS\n", "EN BLANCO\n", "EN PYTHON"]
#DECLARACION DE LISTA
with open("atext.txt", "w+") as f:#CREA UN ARCHIVO DE LECTURA Y ESCRITURA
f.writelines(listas)#ESCIBE LA LISTA EN EL ARCHIVO
f.seek(0)#SE POSICIONA EN EL BYTE 0
contenido=f.read()#LEE EL ARCHIVO
print("CONTENIDO ",contenido)#MUESTRA LO ESCRITO
f.close()#CIERRA
#PROGRAMA 29
nomarch="btext.txt"#CREACION DE UN ARCHVIO
while True:
try: #VALIDA QUE LO INGRESADO SEA LO QUE SE PIDE
with open(nomarch,"r+") as f: #ABRE EL ARCHIVO
cont=f.read()#LEE ARCHIVO
print(cont)#MUESTRA CONTENIDO
break
except:
print("ERROR PARA ABRIR EL ARCHIVO\n")#COMO EL ARCHIVO CREADO NO EXISTE MUESTRA LETRERO
print('NO SE ENCUENTRA'), (nomarch), ('\n DE EL NOMBRE CORRECTO')
#PIDE INGRESAR UN ARCHIVO QUE SI EXISTA
nomarch=(input('DA EL NOMBRE DE ARCHIVO: '))#PIDE ARCHIVO EXISTENTE
f.close()#CIERRA
#PROGRAMA 30
archivo= open('prueba.txt', 'r+')#ABRE ARCHIVO
contenido=archivo.read()#LEE ARCHIVO
final_del_archivo=archivo.tell()#RETORNA DONDE ESTA EL PUTERO DESPUES DE LECTURA
print(final_del_archivo)
lista=['LINEA 1\n','LINEA2 \n']#DECLARACION DE LISTA
archivo.writelines(lista)#ESCRIBE LA LISTA EN EL ARCHIVO
archivo.seek(final_del_archivo)#SE UBICA EN EL ULTIMO BYTE
print(archivo.readline())#LEE LA LINEA DESDE EL PRINCIPIO
print(archivo.readline())#LEE LA LINEA 2 DESDE EL PRINCIPIO
archivo.close()#CIERRA
#PROGRAMA 31
archivo=open('prueba.txt', 'r+')#ABRE ARCHIVO
contenido=archivo.read()#LEE ARCHIVO
nombre=archivo.name#CHECA QUE NOMBRE TIENE EL ARCHIVO
modo=archivo.mode#CHECA EN QUE MODO FUE ABIERTO EL ARCHIVO
encoding=archivo.encoding#MUESTRA COMO ESTA CODIFICADO
archivo.close()#CIERRA
print('CONTENIDO ',contenido)#MUESTRA LETREROS CON LAS PROPIEDADES DEL ARCHIVO
print('NOMBRE ',nombre)
print('MODO ',modo)
print('ENCODING ',encoding)
#PROGRAMA 32
with open('prueba.txt', 'r') as archivo: #ABRE ARCHIVO PARA LECTURA
contenido=archivo.read()#LEE ARCHIVO
print(contenido)#MUESTRA CONTENIDO
print(archivo.closed)#CIERRA Y MUSTRA QUE EL ARCHIVO SE CERRO
#True
#PROGRAMA 33
'''CAPTURAR CADENA YEN ARCHIVO PONER EL
NUMERO DE VOCALES POR EN UN ARCHIVO'''
cad=input('DAME UNA CADENA: ')#PIDE UNA CADENA
while cad==' ' or cad=='':
cad=input('DAME UNA CADENA VAIDA: ')
#VALIDA QUE SE INGRESE UNA CADENA Y NO ESPCIOS EN BLANCO
#Y LA PIDE NUEVAMENTE
a= cad.count('A')#CUENTA LAS VOCALES
e= cad.count('E')
i= cad.count('I')
o= cad.count('O')
u= cad.count('U')
print('A: ', a)#MUESTRA EL NUEMERO DE VOCALES
print('E: ', e)
print('I: ', i)
print('O: ', o)
print('U: ', u)
w=str(a)#CONVIERTE EL NUMERO DE VOCALES EN UNA CADENA PARA
x=str(e)#INGRESARSE AL ARCHIVO
y=str(i)
z=str(o)
v=str(u)
with open('vocal.txt', 'w+') as f:#ABRE ARCHIVO DE LECTURA Y ESCRITURA
f.write(w +'\n')#ESCRIBE EL NUMERO DE VOCALES 'A' CON UN SALTO DE LINEA
f.write(x +'\n')#ESCRIBE NUEMRO DE 'E'
f.write(y +'\n')#ESCRIBE NUEMRO DE 'I'
f.write(z +'\n')#ESCRIBE NUEMRO DE 'O'
f.write(v +'\n')#ESCRIBE NUEMRO DE 'U'
f.close()#CIERRA
#PROGRAMA 34
def saludo ():#DEFINICION DE UNA FUNCION
#ESTRUCTURA: def 'NOMBRE DE FUNCION' () :
print('ESTOY EN MI PRIMERA FUNCION EN PYTHON')
#INSTRUCCION DE LA FUNCION
saludo ()#LLAMA LA FUNCION
#PROGRAMA 35
def cuadrado (x): #FUNCION CON ARGUMENTO
print('EL CUADRADO DE', x , 'ES ', x**2)
#TOMA EL ARGUMENTO RECIBIDO Y LO ELEVA AL CUADRADO
#MUESTRA LETRERO
cuadrado(4)#LLAMA A LA FUNCION ENVIANDO UN ARGUMENTO
#PROGRAMA 36
def cuadrado(x):#FUNCION QUE RECIBE UN ARGUMENTO
return x**2#DEVUELVE EL ARGUMENTO AL CUADRADO
print('EL CUADRADO DE 4 ES', cuadrado(4))
#EN EL PRINT MUESTRA LETRERO Y LLAMA A LA FUNCION
#PROGRAMA 37
def multiplicacion (a,b=0):
#FUNCION CON 2 ARGYMENTOS, a ,b
#b YA SE LE ASIGNA UN VLOR DE 0 SI NO RECIBE NADA
print(a*b)#MUESTRA EL PRODUCTO DE LOS ARGUMENTOS
m1= multiplicacion(2,8)#MUESTRA 16 YA QUE LLEVAN 2 VALORES Y SON 2 ARGUMENTOS
m2=multiplicacion(5)#MUESTRA 0 YA QUE SOLO LLEGA UN VALOR, b NO RECIBE POR LO QUE ES 0
#PROGRAMA 38
def tabla (x):#FUNCION QUE RECIBE ARGUMENTO
for i in range(1,11):#INICIA EN 1 Y HASTA 10
#tb="{}\t{}\t{}\t{}\t{}\t".format(x,'X', i, '=', x*i)
'''REALIZA LAS MULTIPLICACIONES DEL ARGUMENTO
CON LOS VALORES QUE VA TOMANDO i MUESTRA LA TABLA'''
#print(tb)
print(x,'X',i,'=', x*i)
mult=int(input('DAME LA TABLA QUE QUIERES '))
#PIDE UN NUMERO PARA MANDARLO A LA FUNCION
while mult<=0: #NUMEROS MAYORES A 0 SOLAMENTE
mult=int(input('DAME UN NUMERO POSITIVO '))
tabla(mult)#MANDA LLAMAR A FUNCION ENVIANDO UN ARGUMENTO
#PROGRAMA 39
def saludo (): #DEFINICION DE UNA FUNCION
print('HOLA A TODOS')
print('DENTRO DE DE FUNCION ')
#INSTRUCCIONES DE LA FUNCION
print ('FUERA DE FUNCION')#MUESTRA LETRERO FUERA DE FUNCION
saludo()#LLLAMA A LA FUNCION
#PROGRAMA 40
def cuadrado(x): #FEFINICION DE FUNCION QUE RECIBE UN ARGUMENTO
print(x**2)#INSTRUCCIONES
def cuad2 (x): #DEFINICION DE FUNCION QUE RECIBE UN ARGUMENTO
y=x*x #INTRUCCIONES; DECLARA VARIABLE COMO EL CUADRADO DEL ARGUMENTO
return y #REGRESA LA VARIABLE
#print(cuadrado(4))
cuadrado(4)#LLAMA A LA FUNCION CON EL ARG DE 4
print(cuad2(8))#MANDA LLAMAR A LA FUNCION CON U PRINT YA QUE ESTA REGRESA EL RESULTADO Y LO ATRAPA
def multiplicar (x=2, y=2):#FUNCION CON 2 ARGUMENTOS PREDEFINIDOS
print(x*y) #INSTRUCCION, MULTIPLICA LOS ARHGUMENTOS
multiplicar(4) # MANDA LLAMAR A LA FUNCION CON EL ARG DE 4, MUESTRA EL PRINT UN 8
multiplicar(4,3)# MANDA LLAMAR A LA FUNCION CON EL ARG DE 4 Y 3 ,MUESTRA EL PRINT UN 12
multiplicar() # MANDA LLAMAR A LA FUNCION SIN NUNGUN ARG ,MUESTRA EL PRINT UN 4
#PROGRAMA 41
def fmultip (*args): #FUNCION QUE RECIBE VARIOS ARGUMENTOS
print(args) #MUESTRA LOS ARGUMENTOS
print(type(args)) #MUESTRA EL TIPO DE ARGUMENTOS, POR DEFAULT SIEMPRE ES TUPLA
fmultip('1', '2', '3')#SE LLAMA A LA FUNCION CON CARACTERES
fmultip('HOLA') #SE LLAMA CON CADENAS
fmultip(3)#SE LLAMA CON ENTERO
#PROGRAMA 42
def mulp(): #DEFINE FUNCION
op1=int(input('DAMA EL NUMERO A MULTIPLICAR'))#PIDE UN NUMERO
for i in range(1,11):#EMPIEZA EN 1 Y ACABA EN 11
print(i,'x',op1,i*op1)#MUESTRA LA MULTIPLICACION DEL NUMERO CON i
mulp()#MANDA LLAMAR A FUNCION
def multi (op): #DEFINE FUNCION
for i in range(1,11): #EMPIEZA EN 1 Y ACABA EN 11
print(i,'x',op,i*op)#MUESTRA LA MULTIPLICACION DEL NUMERO CON i
multi(int(input('DAMA EL NUMERO A MULTIPLICAR')))
#MANDA LLAMAR A LA FUNCION CON EL ARGUMENTO PEDIDO, EL NUMERO
#PROGRAMA 43
def mulp(args):#FUNCION CON ARGUMENTO
b=args#VARIABLE LOCAL IGUALADA AL ARGUMENTO
for i in range (len(b)):#RECORRE LA TUPLA
c=int(b[i])#CONVIERTE A ENTERO CADA ELEMENTO DE LA TUPLA
print('')
for j in range(1,11):#EMPIEZA EN 1 Y ACABA EN 10
print(c,'x',j,' = ',j*c)#MUESTRA LA TABLA
lista=[]#DECLARA LISTA VACIA PARA LOS NUMEROS
n=int (input('DIME CUANTOS NUMEROS '))
#PIDE LA CANTIDAD DE NUMEROS PARA LA TABLA
while n<=0:
n=int (input('NUMEROS POSITIVOS '))
for i in range (n):#FOR PARA PEDIR LOS NUMEROS
m=int(input('NUMERO: '))#PIDE NUMERO
lista.append(m)#LO AGRAGA A LA LISTA
print(lista)#MUESTRA LISTA
tupla=tuple(lista)#CREA TUPLA APARTIR DE LA LISTA
print(tupla)
mulp(tupla)#LLAMA A LA FUNCION CON EL ARGUMENTO DE LA TUPLA
def mulp(*args):#FUCNION QUE RECIBE ARGUMENTOS
b=args[0]#VARIABLE IGUALADA A LA POSC 0 DE LATUPA DE ARGUMENTOS
for i in b:#RECORRER LA TUPLA
c=int(i)#HACE ENTEROS LOS NUMEROS DE LA TUPLA
print('\n')
for j in range(1,11):
print(c,'x',j,' = ',j*c)#MUESTRA LA TABLA
lista=[]#DECLARA LISTA VACIA PARA LOS NUMEROS
n=int (input('DIME CUANTOS NUMEROS '))
#PIDE LA CANTIDAD DE NUMEROS PARA LA TABLA
while n<=0:
n=int (input('NUMEROS POSITIVOS '))
for i in range (n):#FOR PARA PEDIR LOS NUMEROS
m=int(input('NUMERO: '))#PIDE NUMERO
lista.append(m)#LO AGRAGA A LA LISTA
print(lista)#MUESTRA LISTA
tupla=tuple(lista)#CREA TUPLA APARTIR DE LA LISTA
print(tupla)
mulp(tupla)#LLAMA A LA FUNCION CON EL ARGUMENTO DE LA TUPLA
#PROGRAMA 44
def f1():#FUNCION 1 DECLARADA: INSTRUCCIONES
def f2():#DECLARACION DE FUNCION 2: INSTRUCCIONES
nivel2=2#ASIGNACION DE VARIABLE
print(nivel0, nivel1, nivel2)#MUESTRA LAS 3 VARIABLES
nivel1=1#ASIGNACION DE VARIABLE
f2()#MANDA LLAMAR A f2
print(nivel0,nivel1)#MUESTRA 2 VARIABLES
nivel0=0#ASIGNA VARIABLE
f1()#MANDA LLAMAR A f1
print(nivel0)#MUESTRA 1 VARIABLE
#PROGRAMA 45
def prueba_niveles():#FUNCION
def hacer_local():#FUCNION LOCAL
algo = "ALGO LOCAL"#VARIABLE
def hacer_nonlocal():#FUNCION NO LOCAL
nonlocal algo# algo SE HACE NO LOCAL, NO DE LA FUNCION
algo = "ALGO NO LOCAL"#VARIABLE
def hacer_global():#FUNCION GLOBAL
global algo#algo SE HACE GLOBAL
algo = "ALGO GLOBAL"#VARIABLE
algo = "ALGO DE PRUEBA"#DECLARACION DE VARIABLE EN LA FUNCION
hacer_local()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION LOCAL: ", algo)
#MUESTRA LETRERO CON algo EN LA FUNCION
hacer_nonlocal()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION NO LOCAL: ", algo)
#MUESTRA LETRERO CON algo NO EN LOCAL
hacer_global()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION GLOBAL:", algo)
#MUESTRA LETRERO CON algo, COMO algo YA ES NO LOCAL
#MUESTRA EL LETRERO algo no local
prueba_niveles()#MANDA LLAMAR A LA FUNCION
print("EN ASIGNACION GLOBAL: ", algo)
#MUESTRA LETRERO CON EL ULTIMO VALOR DE LA VARIABLE
#FUNCION INV 2 V2
def prueba_ambitos():#FUNCION
def hacer_local():#FUCNION LOCAL
algo = "ALGO LOCAL"#VARIABLE
def hacer_nonlocal():#FUNCION NO LOCAL
nonlocal algo# algo SE HACE NO LOCAL, NO DE LA FUNCION
algo = "ALGO NO LOCAL"#VARIABLE
def hacer_global():#FUNCION GLOBAL
global algo#algo SE HACE GLOBAL
algo = "ALGO GLOBAL"#VARIABLE
algo = "ALGO DE PRUEBA"#DECLARACION DE VARIABLE EN LA FUNCION
hacer_local()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION LOCAL: ", algo)
#MUESTRA LETRERO CON algo EN LA FUNCION
hacer_nonlocal()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION NO LOCAL: ", algo)
#MUESTRA LETRERO CON algo NO EN LOCAL
hacer_global()#LLAMA A LA FUNCION
print("LUEGO DE LA ASIGNACION GLOBAL:", algo)
#MUESTRA LETRERO CON algo, COMO algo YA ES NO LOCAL
#MUESTRA EL LETRERO algo no local
prueba_ambitos()#MANDA LLAMAR A LA FUNCION
print("EN ASIGNACION GLOBAL: ", algo)
#MUESTRA LETRERO CON EL ULTIMO VALOR DE LA VARIABLE
#FUNCION INV 1 V2
def f1():#FUNCION
x=3 #VAR LOCAL
def f2():#FUNCION
x=2#VAR LOCAL
print('EN F2 ', id(x))#MUESTRA ID EN f2
f2()#MANDA LLAMAR A f2
print('EN F1 ', id(x))#MUESTRA ID EN f1
f1()#LLAMA A f1
ENTREGABLES
#ENTREGABLE 1
'''ELABORE UN PROGRAMA QUE PIDA NOMBRE EDAD CARRERA
CON EL TRY-EXCEPT, DE SER CORRECTOS LOS DATOS AGREGARLOS
A UN DICCIONARIO '''
try:
nombre=input('NOMBRE: ')
edad=int(input('EDAD: '))
carrera=input('CARRERA: ')
print('HOLA', nombre, 'CON' + str(edad), 'AÑOS', 'DE', carrera )
print('\n')
datos={'NOMBRE':nombre, 'EDAD':edad, 'CARRERA':carrera}
print(datos)
except:
print("INGRESA BIEN LOS DATOS")
#ENTREGABLE 2
def f1():
def f2():
nivel2=2
print(nivel0, nivel1, nivel2)
nivel1=1#ASIGNACION DE VARIABLE
f2()
print(nivel0,nivel1)
nivel0=0
f1()
print(nivel0)
'PROCEDIMIENTO: SE DECLARA nivel0=0
SE LLAMA A f1, Y DEPUES MUESTRA LA VARIABLE nivel0=0 EN PANTALLA
UNA VEZ LLAMADA f1 SE CREA UNA FUNCION f2 Y UNA VARIABLE nivel1=1 LUEGO SE MANDA LLAMAR A f2 POR ULTIMO SE IMPRIME nivel0 Y nivel1
UNA VEZ LLAMADA f2 SE CREA UNA VARIABLE nive2=2 Y SE IMPRIME
nivel1 nivel2 nivel0
POR ELLO, PRINT FINAL SE VE ASI:
0 1 2-->PRIMER PRINT, VIENE DE f2
0 1-->SEGUNDO PRINT, VIENE DE f1
0-->ULTIMO PRINT, VIENE DEL MODULO PRINCIPAL
#ENTRAGABLE 3
'''EJEMPLO 2'''
def f1():
def f2():
nivel2=2
print(nivel0, nivel1, nivel2)
nivel1=1
global nivel0
nivel0=5
f2()
print(nivel0,nivel1)
nivel0=0
f1()
print(nivel0)
'''EJEMPLO 3'''
def f1():
def f2():
nivel2=2
global nivel0
nivel0=6
print(nivel0, nivel1, nivel2)
nivel1=1#ASIGNACION DE VARIABLE
f2()#MANDA LLAMAR A f2
print(nivel0,nivel1)#MUESTRA 2 VARIABLES
nivel0=0#ASIGNA VARIABLE
f1()#MANDA LLAMAR A f1
print(nivel0)#MUESTRA 1 VARIABLE
'''EJEMPLO 4'''
def f1():
def f2():
global nivel1
nivel1=7
nivel2=2
print(nivel0, nivel1, nivel2)
nivel1=1#ASIGNACION DE VARIABLE
f2()
print(nivel0,nivel1)
nivel0=0
f1()
print(nivel0)
#EL CALIFICATIVO DE GLOBAL SOLO ES APLICABLE EN
#VARIABLE NIVEL MODULO O DEL PRINCIPAL
'''EJEMPLO 5'''
def f1():
def f2():
nonlocal nivel1
nivel1=7
nivel2=2
print(nivel0, nivel1, nivel2)
nivel1=1
f2()
print(nivel0,nivel1)
nivel0=0
f1()
print(nivel0
#EL NONLOCAL PUEDE MODIFICAR LAS VARIABLES QUE HAN SIDO CREADAS EN OTRAS FUNCIONES (FUNCIONES ANIDADAS)
'''EJEMPLO 6'''
def f1():
def f2():
global nivel0
nonlocal nivel1
nivel0=8
nivel1=9
nivel2=2
print(nivel0, nivel1, nivel2)#
nivel1=1#ASIGNACION DE VARIABLE-->FUNCION
f2()
print(nivel0,nivel1)
nivel0=0#ASIGNA VARIABLE-->EN EL MODULO
f1()
print(nivel0)
'''GLOBAL MODIFICA VARIABLES EN OTRAS FUNCIONES
NONLOCAL MODIFICA VARIABLES EN FINCIONES DESDE OTRAS FUNCIONES'''
#ENTREGABLE 4






