Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tabla 1:
- Numero Iteración --- Variables->Valor
- 0 --- cant->3
- 1 --- j->0
- num->2
- 2 --- j->1
- num->0
- 3 --- j->2
- num->-1
- Tabla 2:
- Numero Iteración --- Variables->Valor
- 0 --- j->0
- cant->3
- 1 --- num->2
- j->1
- 2 --- num->0
- j->2
- 3 --- num->-1
- j->3
- Tabla 3:
- Numero Iteración --- Variables->Valor
- 0 --- hay_mas_datos ->"Si"
- 1 --- num->2
- 2 --- num->0
- 3 --- num->-1
- hay_mas_datos->"No"
- Tabla 4:
- Numero Iteración --- Variables->Valor
- 0 --- centinela->"2"
- 1 --- num->2
- centinela->"0"
- 2 --- num->0
- centinela->"-1"
- 3 --- num->-1
- centinela->"*"
- Ciclo infinito: Pasando 0 como argumento la condiciòn del while se cumple infinitamente.
- EJERCICIO 1:
- CENTINELA
- def validar(x):
- if x>0:
- return True
- return False
- def ej1():
- num=int(input("Ingrese un número: "))
- valido=validar(num)
- while valido==False:
- num=int(input("ERROR, ingrese un número: "))
- valido=validar(num)
- print("Felicidades, sabe ingresar un número positivo")
- ej1()
- INTERACTIVO
- def ej1():
- num=int(input("Ingrese un número: "))
- while num<=0:
- num=int(input("ERROR, ingrese un número: "))
- print("Felicidades, sabe ingresar un número positivo")
- ej1()
- No tiene sentido usar un ciclo definido ya que se desconoce cuán estúpido es el usuario.
- EJERCICIO 2:
- def notas():
- cont=0
- notas=0
- hay_mas_notas="Si"
- while hay_mas_notas=="Si":
- nota=int(input('Ingrese una nota:'))
- cont+=1
- notas+=nota
- hay_mas_notas=input("Hay más notas? (Si o No)")
- return notas/cont
- def main():
- print(notas())
- main()
- EJERCICIO 3:
- def sucesion():
- cont=0
- suma=0
- num=int(input('Ingrese un numero (-1 corta):'))
- while num!=-1:
- cont+=1
- suma+=num
- num=int(input('Ingrese un numero (-1 corta):'))
- if cont!=0:
- print("La suma total es", suma, ". Cant de numeros es", cont, "y su promedio es", suma/cont)
- else:
- print("La cagaste...")
- sucesion()
- EJERCICIO 4:
- def multiplos (menor, mayor):
- cant=0
- if menor!=0:
- for j in range (menor,mayor+1): #Fak u so mach
- if j%menor==0:
- cant+=1
- return cant
- def test_multiplos():
- assert multiplos(0,5) == 0
- assert multiplos(5,5) == 1
- assert multiplos(5,4) == 0
- assert multiplos(1,10) == 10
- assert multiplos(5,30) == 6
- -------------------------------------
- def multiplos (menor, mayor):
- cant=0
- if menor!=0:
- cont=menor
- while cont<=mayor:
- cant+=1
- cont+=menor
- return cant
- def test_multiplos():
- assert multiplos(0,5) == 0
- assert multiplos(5,5) == 1
- assert multiplos(5,4) == 0
- assert multiplos(1,10) == 10
- assert multiplos(5,30) == 6
- -------------------------------------
- La segunda es más clara y realiza MENOS OPERACIONES.
- EJERCICIO 5:
- def es_primo(n):
- cont=0
- for i in range (1,n+1):
- if n%i==0:
- cont+=1
- if cont==2:
- return True
- return False
- def primos_hasta(n):
- cont=0
- for x in range (2,n+1):
- if es_primo(x):
- cont+=1
- return cont
- def test_primos_hasta():
- assert primos_hasta(7) == 4
- assert primos_hasta(-7) == 0
- assert primos_hasta(1) == 0
- EJERCICIO 6:
- import time
- def ask_pass():
- password="get_rekt"
- val=input("Ingrese la contraseña: ")
- tries=3
- while (tries>0):
- if(val!=password):
- print("Contraseña erronea. Intentos restantes:", tries-1)
- tries-=1
- print("Vuelva a intentar en",2**(3-tries),"segundos.")
- time.sleep(2 ** (3-tries))
- val=input("Ingrese otra contraseña: ")
- else:
- break
- if val==password:
- return True
- else:
- return False
- def main():
- if ask_pass():
- print("Good Job")
- else:
- print("Bad Job")
- main()
- EJERCICIO 7:
- import random
- #No es la solución más beia, pero quería tener Fuerza_de_Voluntad
- def check_this():
- Valor=random.randrange(0,10000,step=1)
- print("Debe adivinar un número entre 0 y 10000")
- num=int(input("Ingrese un número: "))
- Fuerza_de_Voluntad=True
- while Fuerza_de_Voluntad:
- if num!=Valor:
- if num<Valor:
- print("El número ingresado es menor al secreto")
- else:
- print("El número ingresado es mayor al secreto")
- num=int(input("Ingrese otro número (o -1 para rendirse): "))
- if num==-1:
- Fuerza_de_Voluntad=False
- else:
- break
- if Fuerza_de_Voluntad:
- print("Congrats")
- else:
- print("Eres débil (o no conocés la búsqueda binaria)")
- check_this()
- EJERCICIO 8:
- def es_potencia_de_dos(n):
- while n%2==0 and n>0:
- n/=2
- if n==1:
- return True
- else:
- return False
- def suma_pot_dos(n1, n2):
- suma=0
- for i in range (n1, n2+1):
- if es_potencia_de_dos(i):
- suma+=i
- return suma
- def test_suma_pot_dos():
- assert suma_pot_dos (0,4)==7
- assert suma_pot_dos (-3,4)==7
- assert suma_pot_dos (4,4)==4
- assert suma_pot_dos (5,4)==0
- assert suma_pot_dos (4,65)==124
- EJERCICIO 9:
- #Definido
- def tarifa():
- costo=float(input("Ingrese el costo por segundo de la tarifa: "))
- cant_de_llamadas=int(input("Ingrese la cantidad de llamadas a cobrar: "))
- for i in range (cant_de_llamadas):
- horas=int(input("Ingrese la cant de horas: "))
- minutos=int(input("Ingrese la cant de minutos: "))
- segundo=int(input("Ingrese la cant de segundos: "))
- segundo = horas*3600 + minutos*60 + segundo
- print("Duracion de llamada:", segundo, "Costo de llamada: $" + str(costo *segundo))
- tarifa()
- #Centinela
- def tarifa():
- costo=float(input("Ingrese el costo por segundo de la tarifa: "))
- Sigue_Metiendo="Si"
- while Sigue_Metiendo=="Si":
- horas=int(input("Ingrese la cant de horas: "))
- minutos=int(input("Ingrese la cant de minutos: "))
- segundo=int(input("Ingrese la cant de segundos: "))
- segundo = horas*3600 + minutos*60 + segundo
- print("Duracion de llamada:", segundo, "Costo de llamada: $" + str(costo *segundo))
- Sigue_Metiendo=input("¿Desea ingresar otra llamada? (Si/No): ")
- tarifa()
- EJERCICIO 10:
- #Definido
- def tarifa():
- costo=float(input("Ingrese el costo por segundo de la tarifa: "))
- cant_de_llamadas=int(input("Ingrese la cantidad de llamadas a cobrar: "))
- suma=0
- for i in range (cant_de_llamadas):
- horas=int(input("Ingrese la cant de horas: "))
- minutos=int(input("Ingrese la cant de minutos: "))
- segundo=int(input("Ingrese la cant de segundos: "))
- segundo = horas*3600 + minutos*60 + segundo
- suma+=segundo
- print("Duracion de llamada:", segundo, "Costo de llamada: $" + str(costo *segundo))
- print("El total facturado es $"+ str(suma*costo) , "para", cant_de_llamadas,"llamadas.")
- tarifa()
- #Centinela
- def tarifa():
- costo=float(input("Ingrese el costo por segundo de la tarifa: "))
- cont=0
- suma=0
- Sigue_Metiendo="Si"
- while Sigue_Metiendo=="Si":
- horas=int(input("Ingrese la cant de horas: "))
- minutos=int(input("Ingrese la cant de minutos: "))
- segundo=int(input("Ingrese la cant de segundos: "))
- cont+=1
- segundo = horas*3600 + minutos*60 + segundo
- suma+=segundo
- print("Duracion de llamada:", segundo, "Costo de llamada: $" + str(costo *segundo))
- Sigue_Metiendo=input("¿Desea ingresar otra llamada? (Si/No): ")
- print("El total facturado es $"+ str(suma*costo) , "para", cont,"llamadas.")
- tarifa()
- EJERCICIO 8 DE LA VERSIÓN NUEVA (KINDERGARTEN LA TENÉS ADENTRO):
- def main():
- cantPalabras=int(input("Ingrese la cantidad de palabras: "))
- lista=[]
- for i in range(cantPalabras):
- palabra=input("Ingrese una palabra: ")
- lista= lista+[palabra]
- print("Las palabras ingresadas fueron: ")
- for i in lista:
- print(i)
- main()
- EJERCICIO 9)
- def buscar(listaPalabras):
- aBuscar=input("Ingrese la palabra a buscar: ")
- for i in listaPalabras:
- if i==aBuscar:
- print("La palabra sí se encuentra en la lista")
- return
- print("La palabra no se encuentra en la lista")
- def main():
- buscar(["The","Cake","Is","A","Lie"])
- main()
- EJERCICIO 10)
- def contar(listaPalabras):
- aBuscar=input("Ingrese la palabra a contar: ")
- contador=0
- for i in listaPalabras:
- if i==aBuscar:
- contador+=1
- if contador:
- if contador==1:
- print("La palabra se encuentra 1 vez")
- else:
- print("La palabra se encuentra",contador,"veces")
- else:
- print("La palabra no se encuentra en la lista")
- def main():
- contar(["The","Cake","Is","A","Lie","Lie"])
- main()
- EJERCICIO 13)
- def suma_estúpida(lista):
- acum=0
- for i in lista:
- acum+=i
- return acum
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement