0% encontró este documento útil (0 votos)
12 vistas4 páginas

Programación Ejemplos

Códigos básicos de programación ejemplos

Cargado por

fernymoreno2103
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas4 páginas

Programación Ejemplos

Códigos básicos de programación ejemplos

Cargado por

fernymoreno2103
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

-Enteros (int): 0 1 2 -5 -33 -Reales (float): 0.

4873 (cualquier número con punto decimal) -Texto (str): 'hola' "Me gustan los
gatitos" '123' (se pueden usar comillas simples o dobles)

Si queremos juntar u operar valores de tipo texto con valores de tipo numérico, primero es necesario convertir los valores
numéricos a valores de tipo texto. Para esto, usamos la función de Python str(numero)

import math
math.pi
'yo tengo ' + str(9) + ' mascotas' def areaAnillo(r_exterior, r_interior):
math.sqrt(25)
area_ext = areaCirculo(r_exterior)
def areaCirculo(radio): area_int = areaCirculo(r_interior)
pi = 3.14 import random
return area_ext - area_int random.random() #en [0,1[
area = pi * radio ** 2
areaAnillo(6,3) random.randint(x,y) #en [x,y]
return área

areaCirculo(5) #areaRectangulo: num num -> num


78.5 #calcula el area de un rectángulo dados sus lados
#ejemplo: areaRectangulo(3,4) entrega 12
def areaRectangulo(largo,ancho):
return largo * ancho
#Test
assert areaRectangulo(3,4) == 12

import triangulo
#invertir: int -> int
print("Calculemos el Área y Perímetro de un
#invierte un numero entero de dos cifras
triangulo")
#ej: invertir(27) entrega 72
# pedimos datos a una persona
def invertir(numero):
lado1 = input("Ingrese largo del primer lado: ")
decenas = numero // 10
lado2 = input("Ingrese largo del segundo lado: ")
unidades = numero % 10
lado3 = input("Ingrese largo del tercer lado: ")
return unidades * 10 + decenas
#convertimos lo recibido de texto a numero
lado1 = float(lado1)
#Test lado2 = float(lado2)
lado3 = float(lado3)
assert invertir(27) == 72 #calculamos y mostramos el resultado en pantalla
assert invertir(88) == 88 print("El perímetro es: ",
triangulo.perimetro(lado1,lado2,lado3))
print("El área es: ", triangulo.area(lado1,lado2,lado3))

1.3.4 Funciones interactivas

from triangulo import *


# preguntasTriangulo: None -> None
# pregunta a una persona por los 3 lados de un triangulo y calcula area y perimetro
# Ej: preguntasTriangulo() da inicio a las preguntas
def preguntasTriangulo():
print("Calculemos el Área y Perímetro de un triangulo")
lado1 = input("Ingrese largo del primer lado: ")
lado2 = input("Ingrese largo del segundo lado: ")
lado3 = input("Ingrese largo del tercer lado: ")
lado1 = float(lado1)
lado2 = float(lado2)
lado3 = float(lado3)
print("El perímetro es: ", perimetro(lado1,lado2,lado3))
print("El área es: ", area(lado1,lado2,lado3))

return None
Condicionales

#esPar: int -> bool #esPar: int -> bool


#True si un numero entero es par #True si un numero entero es par #mayorDe3: int int int -> int
#ej: esPar(4) entrega True #ej: esPar(4) entrega True #devuelve el mayor de tres numeros
# esPar(7) entrega False # esPar(7) entrega False #ej: mayorDe3(4,7,1) entrega 7
def esPar(n): def esPar(n): # mayorDe3(7,7,7) entrega 7
if n%2 == 0: return n%2 == 0 def mayorDe3(x,y,z):
return True ...
else: # Test
return False # Test
# Test assert mayorDe3(4,7,1) == 7
assert esPar(4)
assert esPar(4) == True assert not esPar(7) assert mayorDe3(7,7,7) == 7
assert esPar(7) == False

nota = float(input("nota?"))
# jaliscoCachipun: str -> str print("Calificación = ", end="")
# entrega la jugada ganadora del cachipun if nota < 1.0 or nota > 7.0:
# ej: jaliscoCachipun("papel") entrega "tijera" print("Fuera de Rango")
def jaliscoCachipun(jugada): elif nota < 4.0:
if jugada == "tijera": print("Reprobado(a)")
return "piedra" elif nota < 5.0:
elif jugada == "piedra": print("Aprobado(a)")
return "papel" elif nota < 6.0:
else: print("Aprobado(a) con Distinción")
return "tijera" else:
# Test print("Aprobado(a) con Distinción Máxima")
assert jaliscoCachipun("papel") == "tijera"

def mayorDe3(x,y,z): #factorial: int -> int


mayor = x 1.2 Recursión #entrega el factorial de un numero entero
if y >= mayor: #ej: factorial(4) entrega 24
mayor = y def factorial(n):
if z >= mayor: if n == 0:
mayor = z return 1
return mayor return n * factorial(n-1)
#test
assert factorial(0) == 1
nota = float(input("nota?")) assert factorial(4) == 24
print("Calificación = ", end="")
if 1.0 <= nota and nota <= 3.9:
print("Reprobado(a)") # digitos: int -> int
if 4.0 <= nota and nota <= 4.9: # entrega la cantidad de digitos de un número entero
print("Aprobado(a)") # ej: digitos(584) entrega 3
if 5.0 <= nota and nota <= 5.9: def digitos(n):
print("Aprobado(a) con Distinción") #Caso Base
if 6.0 <= nota and nota <= 7.0:
print("Aprobado(a) con Distinción Máxima") if n < 10:
if nota < 1.0 or nota > 7.0: return 1
print("Fuera de Rango") #Caso Recursivo
restoN = n//10
return 1 + digitos(restoN)
#test

assert digitos(3) == 1
assert digitos(584) == 3
#mayorDigito: int -> int
#mayorDigito: int (int) -> int #entrega el mayor digito de un numero dado
#entrega el mayor digito de un numero dado #ej: mayorDigito(47352) entrega 7
#ej: mayorDigito(47352) entrega 7 def mayorDigito(n):
def mayorDigito(n, mayor=0):
# Caso Base # Caso Base
if n == 0:
return mayor
if n < 10:
# Caso Recursivo
digito = n % 10 return n
restoNum = n // 10 # Caso Recursivo
if digito > mayor: digito = n%10
return mayorDigito(restoNum,digito) mayorResto = mayorDigito(n//10)
else: return max(digito, mayorResto)
#test
return mayorDigito(restoNum,mayor)
assert mayorDigito(47352) == 7

#potencia: num int -> int


#calcula la potencia de x elevado a y Ejemplos:
# variante 1: Usar 1 variable por omisión para saber en que
#ej: potencia(2,4) entrega 16 divisor vamos
def potencia(x,y): # y llevar la cuenta en la recursión
# Caso Base #divisores: int (int) -> int
if y == 0: #da cuantos divisores tiene un numero >= 1
return 1 #ej: divisores(6) entrega 4
# Caso Recursivo def divisores(n, actual=1):
return x * potencia(x, y-1) # Caso Base: si en nuestro barrido llegamos a n,
#test # lo contamos como divisor, y terminamos
assert potencia(2,0) == 1 if actual == n:
assert potencia(2,4) == 16 return 1
# Caso Recursivo: si el número actual es divisor de n, lo
contamos
# En ambos casos, continuamos la recursión, revisando el
siguiente número del intervalo
# Variante 2: Usar una segunda variable por if n%actual == 0:
# omisión, para llevar explícitamente la return 1 + divisores(n, actual + 1)
# cuenta de divisors else:
return divisores(n, actual + 1)
#divisores: int (int) (int) -> int #test
#da cuantos divisores tiene un numero >= 1 assert divisores(6) == 4
#ej: divisores(6) entrega 4 assert divisores(1) == 1
def divisores(n, actual=1, cuenta=0): assert divisores(7) == 2
# Caso Base: si en nuestro barrido llegamos a n,
# lo contamos como divisor y entregamos la
cuenta guardada # esPrimo: int -> bool
if actual == n: # indica si un número dado es primo o no
return cuenta + 1 # ej: esPrimo(7) entrega True
# Caso Recursivo: Ahora la cuenta la def esPrimo(n):
manejamos en una variable por omisión assert type(n) == int and n>=1
if n%actual == 0: # Usamos la función anterior para validar si n
return divisores(n, actual+1, cuenta+1) cumple
else: # o no las propiedades o condiciones para ser
return divisores(n, actual+1, cuenta) primo
#test if divisores(n) == 2:
assert divisores(6) == 4 return True
assert divisores(1) == 1 else:
assert divisores(7) == 2 return False
# test
assert esPrimo(7)
assert not esPrimo(4)
assert not esPrimo(1)
# primosEnRango: int int -> None # siguiente: int -> int
# muestra todos los primos que existan en un intervalo # fecha siguiente a la fecha x
dado # ej: siguiente(30042022) entrega 1052022
# ej: primosEnRango(10, 20) muestra 11 13 17 19 # siguiente(31122022) entrega 1012023
def primosEnRango(x,y): def siguiente(x):
# CB: si x es mayor que y, entonces no hay intervalo. # separar dia, mes y año
terminamos de trabajar d = x//1000000
if x > y:
m = (x//10000)%100
return None
a = x%10000
# CR: si el número actual es primo, lo printeamos. Si
no, no #calcular dia mes y año de la siguiente fecha
# En ambos casos, continuamos la recursión, # caso1: todavia no llegamos al ultimo dia del mes
# pasando a revisar el siguiente número del intervalo # aumentamos en 1 dia, conservamos el mes y año
if esPrimo(x): if d < diasDelMes(m,a):
print(x) d1=d+1
return primosEnRango(x+1,y) m1=m
else: a1=a
return primosEnRango(x+1,y)
else:
# Caso contrario: estamos en el ultimo dia del mes, def decimal(r):
# por lo que al aumentar, cambiamos de mes y reiniciamos los if r=="I":
dias return 1
if m<12: elif r=="V":
d1=1 return 5
m1=m+1 elif r=="X":
a1=a return 10
# caso especial: por descarte, si el mes es 12, ademas tenemos
# que cambiar de año, y resetear mes y dia elif r=="L":
else: return 50
d1=1 elif r=="C":
m1=1 return 100
a1=a+1 elif r=="D":
# ahora recomponemos la nueva fecha en formato DDMMAAAA return 500
return d1 * 1000000 + m1 * 10000 + a1 elif r=="M":
return 1000
else:
return 0
# decimal2: str str -> int
# entrega el valor decimal de un numero romano
de 2 cifras
# ej: decimal2("I","X") entrega 9
# decimal2("X","I") entrega 11
def decimal2(r1,r2):
# convertir a decimales from romano import *
d1 = decimal(r1) # pedir el numero
d2 = decimal(r2) num = input("Ingrese un número romano de
# si no son numeros validos, terminamos DOS dígitos")
if d1 == 0 or d2 == 0: # si no es valido, no hacer nada
return 0 if not esValido(num):
# siguiendo la indicación, vemos si sumamos print("numero incorrecto")
o restamos los numeros else:
# dependiendo del caso # extraer digitos del numero
if d1 >= d2: d1 = digito(1,n)
return d1 + d2 d2 = digito(2,n)
else: # obtener su valor decimal y mostrarlo
return d2 - d1 res = decimal2(d1,d2)
# Test print("el valor decimal es: ",res)
assert decimal2("I","X") == 9
assert decimal2("X","I") == 11

También podría gustarte