You are on page 1of 17

PROG 1

# Disear un algoritmo que inicialice un array de tamao n con


# todas sus posiciones a cero

def main():
n =eval(input("Introduzca el numero del vector: "))
a=[0]*n
for i in range (n):
a[i]=0
for i in range (n):
print ("El numero es ",a[i])

main()

PROG2
# Disear un algoritmo que lea n valores, calcule su media y despus
# muestre el nmero de elementos ledos que son superiores a la media.
numero=0

def media (a):


suma=0
for i in range (len(a)):
suma=suma+a[i]

return suma/len(a)

def mayor(a,n,media_a):
cont=0
for i in range (n):
if a[i]>media_a:
cont=cont+1
return cont

def main():
n =eval(input("Introduzca el numero de datos: "))
a=[0]*n
for i in range (n):
a[i]=eval(input("Introduzca el numero: "))

print("La media es", media(a))


media_a=media(a)
print ("Los numeros mayores a la media son", mayor(a,n, media_a))

main()

PROG 3
# Escribir una funcin que reciba una tupla de elementos e indique si se
# encuentran ordenados de menor a mayor o no.

def orden(t):
i=0
ordenado=True

while ordenado and i<len(t)-1:


ordenado= t[i]<=t[i+1]
i=i+1
return ordenado
1
PROG4
def domino():
a=(1,2)
b=(3,2)
if a[0]==b[0] or a[0]==b[1]:
print("encaja Posicion a 0")
else:
print(" ")

if a[1]==b[0] or a[1]==b[1]:
print("encaja Posicion a 1")
else:
print(" ")

print("Hasta la prxima, funcion uno aplicada!")

def domino_2():
a="1,2"
b="2,5"
cadena1 = a.split(',')
cadena2 = b.split(',')
# print("funcion 2")
# print (cadena1[0])
# print (cadena1[1])

if cadena1[0]==cadena2[0] or cadena1[0]==cadena2[1]:
print("cadena encaja Posicion a 0")
else:
print(" ")

if cadena1[1]==cadena2[0] or cadena1[1]==cadena2[1]:
print("cadena encaja Posicion a 1")
else:
print(" ")

print("Hasta la prxima, funion dos aplicada!")

domino()
domino_2()

5TO A
#Escribir una funcin que reciba una tupla con nombres, y para cada
#nombre imprima el mensaje Estimado XXX, vote por m.

def impVec(c,n,vec):
while(c<n):
print ("Estimado "+vec[c]+" vote por mi")
c=c+1

n= int(input("Ingrese la cantidad de datos con las que va a trabajar"))


vec=[None]*n
c=int(0)
while(c<n):
nombre=input("Ingrese el nombre: "+str(c+1)+" ")
vec[c]=nombre
c=c+1
c=int(0)

2
impVec(c,n,vec)

5TO B
#Utilizando la funcin del literal a), escribir una funcin que reciba
#una tupla con nombres, una posicin de origen p y una cantidad n,
#e imprima el mensaje anterior para los n nombres que se encuentran
#a partir de la posicin p.

def impVec(c,n,vec):
while(c<n):
print ("Estimado "+vec[c]+" vote por mi")
c=c+1

n= int(input("Ingrese la cantidad de datos con las que va a trabajar"))


vec=[None]*n
c=int(0)
while(c<n):
nombre=input("Ingrese el nombre: "+str(c+1)+" ")
vec[c]=nombre
c=c+1
p=int(input("Ingrese la posicion desde la cual quiere que se imprima el mensaje"))
m=int(input("Ingrese la cantidad de datos que desea imprimir"))

impVec((p-1),m,vec)

5TO C
#Realizar una funcin similar a la del ejercicio a) anterior para que
#tenga en cuenta el gnero del destinatario, para ello, debern recibir
#una tupla de tuplas, conteniendo el nombre y el gnero. Por ejemplo:
#voteme( ((0Juan0;0 H0); (0Paco0;0 H0)); (0Luis0;0 H0); (0Ana0;0M0)) )
#deber{a devolver una cadena :
#Estimado se~nor Juan; vote por Subi
#Estimado se~nor Paco; vote por Subi
#Estimado se~nor Luis; vote por Subi
#Estimado se~norita Ana; vote por Subi

def impVec(c,n,vec):
while(c<n):
if(vec[c][1]=="M"):
print ("Estimado sr."+vec[c][0]+" vote por mi")
else:
print ("Estimada srta. "+vec[c][0]+" vote por mi")
c=c+1

n= int(input("Ingrese la cantidad de datos con las que va a trabajar"))


vec=[None]*n

c=int(0)
while(c<n):
nombre=input("Ingrese el nombre: "+str(c+1)+" ")
genero=input("Ingrese el genero (M para masculino, F para femenino): ")
vecAux=[None]*2
vecAux[0]=nombre
vecAux[1]=genero
vec[c]=vecAux
c=c+1
c=int(0);
print (vec);

3
impVec(c,n,vec);

PROG6 B
#(a) Escribir una funcin que reciba dos vectores y devuelva su producto
#escalar.

import random
print("Producto escalar")
n=int(input("ingrese un numero\n"))
v=[None]*n
w=[None]*n
suma=[None]*n
for i in range(0,n):
v[i]=random.randint(1,5)
w[i]=random.randint(1,5)
print ("Vector 1")
print (v)
print ("Vector 2")
print (w)

for i in range(0,n):
suma[i]=v[i]+w[i]

print ("Vector resultado de la suma")


print (suma)

PROG 6C
#Escribir una funcin que reciba dos vectores y devuelva si son o no
#ortogonales (utilice la funcin anterior). Dos vectores son ortogonales
#si su producto escalar es cero

import random
productoEscalar=0;
aux=0;
print("Producto escalar")
n=int(input("ingrese un numero\n"))
v=[None]*n
w=[None]*n
for i in range(0,n):
v[i]=random.randint(1,5)
w[i]=random.randint(1,5)
print (v)
print (w)

for i in range(0,n):
productoEscalar=productoEscalar+v[i]*w[i]
aux=str(productoEscalar)
if aux==0:
print ("es ortogonal")
else:
print ("no es ortogonal")

PROG 6D
#Escribir una funcin que reciba un vector y devuelva su norma.

import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([2, 3, 4, 5])
np.linalg.norm((a - b), ord=1)

4
PROG 7A
#(a) Escribir una funcin que reciba una Matriz y un escalar y devuelva
#su producto escalar.

import random
productoEscalar=0;
print("Producto escalar")
n=int(input("ingrese un numero\n"))
v=[None]*n
w=[None]*n
for i in range(0,n):
v[i]=random.randint(1,5)
w[i]=random.randint(1,5)
print (v)
print (w)

for i in range(0,n):
productoEscalar=productoEscalar+v[i]*w[i]
print ("\n El producto escalar es: "+str(productoEscalar))

PROG 7B
#Escribir una funcion que reciba dos Matrices y devuelve una Matriz
#suma

print("SUMA DE MATRICES")
col = int(input("NUMERO DE COLUMNAS:"))
row = int(input("NUMERO DE FILAS:"))
matriz1 =[[0 for x in range(row)] for y in range(col)]
print("PRIMER MATRIZ")
for i in range(row):
for j in range(col):
matriz1[i][j] = int(input("Valor:"))

matriz2 =[[ 0 for x in range(row)] for y in range(col)]


print("SEGUNDA MATRIZ")
for i in range(row):
for j in range(col):
matriz2[i][j] = int(input("Valor:"))
matriz3 =[[0 for x in range(row)] for y in range(col)]
for i in range(row):
for j in range(col):
matriz3[i][j] = matriz1[i][j]+ matriz2[i][j]
print("RESULTADO")
print(matriz3)

PROG 7C
MULTIPLICACION DE MATRICES
print("Multiplicacion DE MATRICES")
col = int(input("NUMERO DE COLUMNAS:"))
row = int(input("NUMERO DE FILAS:"))
matriz1 =[[0 for x in range(row)] for y in range(col)]
print("PRIMER MATRIZ")
for i in range(row):
for j in range(col):
matriz1[i][j] = int(input("Valor:"))

matriz2 =[[ 0 for x in range(row)] for y in range(col)]


print("SEGUNDA MATRIZ")
for i in range(row):
for j in range(col):
matriz2[i][j] = int(input("Valor:"))

5
matriz3 =[[0 for x in range(row)] for y in range(col)]
for i in range(row):
for j in range(col):
for k in range(col):
matriz3[i][k] =matriz3[i][k]+matriz1[i][j]*matriz2[j][k]
print("RESULTADO")
print(matriz3)

PROG 7D
# Escribir una funcion que devuelva la traspuesta de una matriz

M1 = [[1, 2, 3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]
M2 = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

print("La matriz original es:")

for i in range(3):
print(M1[i])

print("La matriz traspuesta es:")

for i in range(4):
for j in range(3):
M2[j][i] = M1[i][j]

for i in range(3):
print(M2[i])
}

PROG 8A
#Escribir una funcin que reciba una cadena de unos y ceros (es decir,
#un nmero en representacin binaria) y devuelva el valor decimal
#correspondiente.

def bindecimal(binario):
n=len(binario)
valor=0
for bit in binario:
if bit == '1':
valor=valor+2**(n-1)
n-=1
return valor
print("de binario a decimal")
bin=input("Ingrese binario: ")
frase=bindecimal(bin)
print("El resultado de binario a decimal es")
print (frase)

PROG 8B
#Escribir una funcin que reciba un numero entero y devuelva una
#cadena de unos y ceros que representa su valor binario

def decimal_a_binario(num):
if num == 0:
return ""
else:
# valor=str(num % 2) + decimal_a_binario(num // 2)

6
valor=str(num%2)
return valor

print("de decimal a binario ")


bin=input("Ingrese decimal ")
frase=decimal_a_binario(bin)
print("El resultado de decimal a binario es")
print(frase)

PROG 9
#Dada una lista de nmeros enteros, escribir funciones que:
#(a) Devuelva tres listas, una con los menores, otra con los mayores y otra
#con los iguales a k.
#(b) Devuelva una lista con aquellos que son mltiplos de k.

print("Ingrese valor k")


valor=int(input())
print(valor)
va=""
vaa=""
valo=""
lista1=[2,3,5,7,5,6,7,9]
for i in lista1:
if i < valor:
va+=str(i)+","

elif i > valor:


vaa+=str(i)+","

elif i%valor==0:
valo+=str(i)+","

print("mayores",va)
print("menores",vaa)
print("multiplos",valo)

PROG 10

#Escribir una funcin que reciba una lista de tuplas (Apellido, Nombre,
#Inicial_segundo_nombre) y devuelva una lista de cadenas donde cada
#una contenga primero el nombre, luego la inicial con un punto, y luego el
#apellido.

def cambiar(cadena):

lista=list(cadena)
aux=[1,2,3]
aux[0]=lista[1]
aux[1]=lista[2]+"."
aux[2]=lista[0]
print(aux)

cadena=("Jara","Geraldine","B")
cambiar(cadena)

PROG 11A
#Realizar una funcin que, dada una lista, devuelva una nueva lista
#cuyo contenido sea igual a la original pero invertida. As, dada la lista

7
#[0Di0;0 buen0;0 d{a0;0 a0;0 papa0], deber devolver [0papa0;0 a0;0 d{a0;0
buen0;0 Di0].

lii=["di","buen","dia","a","papa"]
print(lii)

lii.reverse()
print(lii)

for i in range(4):
for j in range(3):
if lii[j]>lii[j+1]:
temp=lii[j]
lii[j]=lii[j+1]
lii[j+1]=temp

for i in range(5):
print(lii[i])

lii.reverse()
print(lii)

PROG 11B
>>> #Realizar otra funcin que invierta la lista, pero en lugar de devolver
#una nueva, modique la lista dada para invertirla, SIN USAR LISTAS
#AUXILIARES

li=["A","B","C","D"]
print(li)
li.reverse()
print(li)

PROG 12
>>> #Realizar otra funcin que invierta la lista, pero en lugar de devolver
#una nueva, modique la lista dada para invertirla, SIN USAR LISTAS
#AUXILIARES

li=["A","B","C","D"]
print(li)
li.reverse()
print(li)

PROG13
#Hay un tipo de pasatiempos que propone descifrar un texto del que se
#han suprimido las vocales. Por ejemplo, el texto .n .j.mpl. d. p.s.t..mp.s
#se descifra sustituyendo cada punto con una vocal del texto. La solucin
#es un ejemplo de pasatiempos Disea un programa que ayude al creador
#de pasatiempos. El programa recibir una cadena y mostrar otra en la
#que cada vocal ha sido reemplazada por un punto

import os
cadena=input("Ingrese la cadena \n")
cadenavec=list(cadena)
numero=0;
def es_vocal (x):
if x == "a" or x == "e" or x == "i" or x == "o" or x == "u":

8
return True
elif x == "A" or x == "E" or x == "I" or x == "O" or x == "U":
return True
else:
return False

while numero<len(cadenavec):
valor=es_vocal(cadenavec[numero])
if(valor==True):
cadenavec[numero]=".";
numero+=1;

numero=0;
salida=""
while numero<len(cadenavec):
salida+=cadenavec[numero]
numero+=1;

print(salida)

PROG 14

#Escribir funciones que dada una cadena de caracteres:


#(a) Imprima los dos primeros caracteres.
#(b) Imprima los tres ltimos caracteres.
#(c) Imprima dicha cadena cada dos caracteres. Ej.: recta debera imprimir
#rca
#(d) Dicha cadena en sentido inverso. Ej.: hola mundo! debe imprimir
#!odnum aloh

cadena=input("Ingrese la cadena: \n")


numero=0
salida="";
cont=1;

def inversa (cadena):


invertida = ""
cont = len(cadena)
indice = -1
while cont >= 1:
invertida += cadena[indice]
indice = indice + (-1)
cont -= 1
return invertida

while numero<len(cadena):
if cont%2!=0:
salida+=cadena[numero]
numero+=1;
if(cont<len(cadena)):
cont+=1
inver=inversa(cadena)
print (cadena[:2])
print (cadena[4:])
print (salida)
print(inver)
print(cadena+""+inver)

PROG 15A

9
#(a) Inserte el caracter entre cada letra de la cadena. Ej: separar y ,
#debera devolver s,e,p,a,r,a,r

def cadena():
cad=input("cadena:")
caracter=input("Caracter: ")
print (cad.replace("",caracter))

cadena()

PROG 15B
#(b) Reemplace todos los espacios por el caracter. Ej: mi archivo de
#texto.txt y \_ debera devolver mi\_archivo\_de\_texto.txt

def cadena():
cad=input("cadena:")
caracter=input("Caracter: ")
print (cad.replace(" ",caracter))

cadena()

PROG 15C
#(c) Reemplace todos los dgitos en la cadena por el caracter. Ej: su clave
#es: 1540 y X debera devolver su clave es: XXXX

def cadena():
cad=input("cadena:")
caracter=input("Caracter: ")
for i in cad:
cad=cad.replace(i,caracter)
print (cad)

cadena()

PROG 16
#Escribir una funcin que reciba una cadena que contiene un nmero entero
#y devuelva una cadena con el nmero y las separaciones de miles. Por
#ejemplo, si recibe 1234567890, debe devolver 1.234.567.890

def funcion_d():
num=int(input("numero:"))
cad=str(num)
cont=1
cad2=""

for caracter in cad[::-1]:


cad2=caracter+cad2
if cont%3==0:
cad2="."+cad2
cont=cont+1
print (cad2)

funcion_d()

PROG 17A
#La primera letra de cada palabra. Por ejemplo, si recibe Universal
#Serial Bus debe devolver USB.

10
def funcion():
cad=input("Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)
for palabra in (lista):
print (palabra[0])

funcion()

PROG 17B
#(b) Dicha cadena con la primera letra de cada palabra en maysculas.
#Por ejemplo, si recibe repblica argentina debe devolver Repblica
#Argentina.

def funcion():
cad=input("Ingrese Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)
for palabra in (lista):
print (palabra.capitalize())

funcion()

PROG 17C
#(c) Las palabras que comiencen con la letra A. Por ejemplo, si recibe
#Antes de ayer debe devolver Antes ayer.

def funcion():
cad=input("Ingrese Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)
for palabra in (lista):
if palabra.startswith('a') or palabra.startswith('A'):
print (palabra)

funcion()

PROG 18A
#(a) Devuelva solamente las letras consonantes. Por ejemplo, si recibe
#algoritmos o logaritmos debe devolver lgrtms.

def consonantes():
vocal="BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz"
cad=input("Ingrese Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)
for letra in cad:
if letra in vocal:
print (letra)

consonantes()

PROG 18B
#(b) Devuelva solamente las letras vocales. Por ejemplo, si recibe sin
#consonantes debe devolver i ooae.

def vocales():
vocal="aeiouAEIOU"
cad=input("Ingrese Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)

11
for letra in cad:
if letra in vocal:
print (letra)

vocales()

PROG 18C
#(c) Reemplace cada vocal por su siguiente vocal. Por ejemplo, si recibe
#vestuario debe devolver vistaerou.

def vocal_siguiente():
vocal="BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz"
consonate="aeiouAEIOU"
cad=input("Ingrese Cadena:")
lista=cad.split(" ")
print ("Cadena Ingresada:", lista)

for palabra in (lista):


print("1")
if palabra.find(vocal)>-1:
print(palabra)

vocal_siguiente()

PROG 18D
#(d) Indique si se trata de un palndromo. Por ejemplo, anita lava la
#tina es un palndromo (se lee igual de izquierda a derecha que de
#derecha a izquierda).

def palindromo():
cad1=input("Ingrese Frase:")
cad2=""
for caracter in cad1:
if caracter!=" ":
cad2=cad2+caracter
if cad2.lower()==cad2[::-1].lower():
print ("PALINDROMO")
else:
print ("NO ES PALINDROMO")

palindromo()

PROG19

PROG19B
#b) Devuelva la que sea anterior en orden alfbetico. Por ejemplo, si
#recibe kde y gnome debe devolver gnome.

lista=['juan','ana','simon','cristian']
lista.sort()
print(lista)

PROG 20A
#(a) Escribir una funcin que reciba dos matrices y devuelva la suma.

def main():
a=[[1,1,1],
[1,1,1],

12
[1,1,1]]
b=[[1,1,1],
[1,1,1],
[1,1,1]]
f=''

for i in range(3):
for j in range(3):
f=f+'\t'+str(a[i][j]+b[i][j])
print (f)
f=''
if __name__=="__main__":main()

PROG 20B
#(b) Escribir una funcin que reciba dos matrices y devuelva el producto.

def main():
a=[[2,1,1],
[1,1,1],
[1,1,1]]
b=[[4,5,1],
[6,1,1],
[1,1,1]]
f=''
print("la matriz 1")
for i in range(3):
for j in range(3):
print (a[i][j])

print("la matriz 2")


for i in range(3):
for j in range(3):
print (b[i][j])

print("el prpducto es")


for i in range(3):
for j in range(3):
f=f+'\t'+str(a[i][j]*b[i][j])
print (f)
f=''
if __name__=="__main__":main()

PROG 20C
#(c) Escribir una funcin que opere sobre una matriz y mediante eliminaci
#n gaussiana devuelva una matriz triangular superior.

A=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
f=""
valor=int(3)
for x in range(0,4):
for y in range(x,4):
A[x][y]=valor

for x in range(0,4):
for y in range(0,4):
f=f+'\t'+str(A[x][y])
print (f)

13
f=""

PROG 21
#Escribir una funcin que reciba un texto y una longitud y devuelva una
#lista de cadenas de como mximo esa longitud. Las lneas deben ser cortadas
#correctamente en los espacios (sin cortar las palabras).
def funcion():
frases=input("Frases: ")
n=int(input("ingrese una longitud: "))
fra=frases.split(" ")
l=list(fra)
pal=0
print (l)
numero=0
salida=""
while numero<n:
salida=salida+" "+l[numero]
numero+=1
print(salida)

funcion()

PROG22
class Libro:
autor=""
titulo=""
ao=0
b=2016
p=Libro()
p.autor=input("Ingrese el autor del libro: ")
p.tituo=input ("Ingrese el titulo del libro: ")
p.ao=eval(input("Igrese el ao de publicacion del libro: "))
a=b-p.ao
print("El Libro", p.titulo,"se publico hace" ,a, "aos")

PROG 23
#Disear un algoritmo que lea el nombre, cdula y edad de los alumnos de
#clase y:
#(a) Calcule su edad media
#(b) Determine si existe algn alumno con 20 aos
#(c) Muestre el alumno ms viejo

class alumno:
nombre=""
edad=0
cedula=""

def edadMedia(xs):
suma=0
for i in xs:
suma+=i.edad
return suma/len(xs)

def edad20(xs):
for i in xs:
if i.edad >= 20:
return True
return False

14
def mayor(lista):
if lista ==[]:
return("error")
elif len(lista) == 1:
return(lista)
lista_nueva = alumno()
while lista != []:
primero = lista[0]
if lista_nueva.edad > primero.edad:
lista_nueva = lista_nueva
else:
lista_nueva =primero
lista = lista[1:]
return(lista_nueva)

x=int(input("Total Alumnos: "))


xs=[]
for i in range(x):
print ("Alumno %s"%(i+1))
alm= alumno()
alm.nombre=input("Ingresar Nombre : ")
alm.cedula=input("Ingresar Cedula : ")
alm.edad=int(input("Ingresar Edad : "))
xs.append(alm)

print (len(xs))
print ("Edad Media de Alumnos: %s"%(edadMedia(xs)))
if edad20(xs):
print ("Existe Alumno Mayor 20")
else:
print ("NO Existe Alumno Mayor 20")
print ("El Mayor es: %s"%(mayor(xs).nombre))

PROG 25
#Un taller necesita una aplicacin para gestionar los coches que tiene que
#reparar. De cada coche es necesario almacenar:
#(a) Marca (cadena): marca del coche (e.g.: Renault)
#(b) Modelo (cadena): modelo del coche (e.g., Clio)
#(c) Matrcula (cadena).
#(d) Presupuesto (numrico): valor presupuestado de la reparacin.
#(e) Prioridad (numrico): un valor positivo que indica la urgencia de la
#reparacin de forma cero es la prioridad mxima.
#Se pide disear un programa que:
# Dena la estructura de datos adecuada.
# Lea y almacene vehculos desde teclado.
# Una vez almacenados: Muestre la matrcula del vehculo con mayor
#prioridad.
# Muestre marca y modelo del vehculo con mayor presupuesto de
#reparacin
# La suma de los presupuestos de todos los coches para calcular los
#benecios del taller.

class coche:
marca=""

15
modelo=""
matricula=""
presupuesto=""
prioridad=""

def main():
i=1
pr=0
pres=0
sumpres=0
act1=''
act2=''
act3=''
p=coche()
n = int(input("Ingrese numero de vehiculos:"))
while i<=n:
p.marca = input("Ingrese marca del vehiculo "+str(i)+":")
p.modelo = input("Ingrese modelo del vehiculo "+str(i)+":")
p.matricula= input("Ingrese matricula del vehiculo "+str(i)+":")
p.presupuesto = int(input("Ingrese presupuesto "+str(i)+":"))
p.prioridad = int(input("Ingrese prioridad "+str(i)+":"))

if p.prioridad>pr:
pr=p.prioridad
act1=p.matricula
if p.presupuesto>pres:
pres=p.presupuesto
act2=p.marca+" "+p.modelo
sumpres=sumpres+p.presupuesto
i=i+1
print ("Matricula del vehiculo con mayor prioridad: "+act1)
print ("marca y modelo del vehiculo con mas presupuesto: "+act2)
print ('la suma total es:'+str(sumpres))

main()

PROG 25
class node:
def __init__(self,marca,modelo,matricula,presupuesto,prioridad):
self.marca=marca
self.modelo=modelo
self.matricula=matricula
self.presupuesto=presupuesto
self.prioridad=prioridad
class pila:
def __init__(self):
self.items=[]

def apilar(self, x):


self.items.append(x)
def main():
i=1
pr=0
pres=0
sumpres=0
act1=''
act2=''

16
act3=''
n = int(input("Ingrese numero de vehiculos:"))
while i<=n:
marca = input("Ingrese marca del vehiculo "+str(i)+":")
modelo = input("Ingrese modelo del vehiculo "+str(i)+":")
matricula= input("Ingrese matricula del vehiculo "+str(i)+":")
presupuesto = int(input("Ingrese presupuesto "+str(i)+":"))
prioridad = int(input("Ingrese prioridad "+str(i)+":"))
nodo=node(marca,modelo,matricula,presupuesto,prioridad)
p=pila()
p.apilar(nodo)
if prioridad>pr:
pr=prioridad
act1=matricula
if presupuesto>pres:
pres=presupuesto
act2=marca+" "+modelo
sumpres=sumpres+presupuesto
i=i+1
print ("Matricula del vehiculo con mayor prioridad: "+act1)
print ("marca y modelo del vehiculo con mas presupuesto: "+act2)
print ('la suma total es:'+str(sumpres))
if __name__=="__main__":main()

17

You might also like