Calcular área de triángulo o círculo

#!/usr/bin/python

while 1:
    print """
    Opcion:
    1- Calcular area de un triangulo
    2- Calcular area de un circulo
    3- Salir
        """
    Opc = input("Elige opcion: ")
    if Opc == 1:
        dBase = input("Base: ")
        hAltura = input("Altura: ")
        print "Solucion: %d" % (dBase * hAltura / 2) 
    elif Opc == 2:
        PI = 3.14
        rRadio = input("Radio: ")
        print "Solucion: %d" % (PI * rRadio * rRadio)
    else:
        exit()


Salida:

Opcion:
1- Calcular area de un triangulo
2- Calcular area de un circulo
3- Salir

Elige opcion: 1
Base: 25
Altura: 32
Solucion: 400

Inverso multiplicativo modular. Diversas formas de calcularlo.

#!/usr/bin/python
# INVERSO MULTIPLICATIVO MODULAR

def egcd(a, b):
    if a == 0:
        return (b, 0, 1)
    else:
        g, y, x = egcd(b % a, a)
        return (g, x - (b // a) * y, y) 

def modinv(a, m):
    g, x, y = egcd(a, m) 
    if g != 1: 
        raise Exception("No existe el inverso modular") # SI NO EXISTE, DEVUELVE ERROR
    else: 
        return x % m 

print 
print "Ejemplo. El inverso multiplicador del numero 63 en modulo 26 es 19."
print modinv(63, 26)    # ESTA OPERACION DA 19
print  

valor1 = input("Ingresa el numero: ") 
valor2 = input("Ingresa el modulo: ") 

print
print "El INV. MULT. MODUL. del valor introducido en el modulo introducido es: ", modinv(valor1, valor2) 
print 

# =================== SEGUNDA FUNCION =================
# FUNCION LAMBDA

MMI = lambda A, n,s=1,t=0,N=0: (n < 2 and t%N or MMI(n, A%n, t, s-A//n*t, N or n),-1)[n<1] 

# DEVOLVERA (-1) SI EL VALOR (A) NO TIENE INVERSO MULTIPLICATIVO EN (N) 
# USO 
# MMI(23, 99)  DEVUELVE 56
# MMI(18, 24)  DEVUELVE -1 

print MMI(23, 99) 
print MMI(18, 24) 

# ================== TERCERA FUNCION =================

def imod(a, n):
    c = 1
    while (c % a > 0): 
        c += n
    return c // a

print imod(63, 26) # RESULTADO 19. SI NO HAY INVERSO MULTIPLICATIVO SE QUEDA EN BLANCO. 

# ==================== CUARTA FUNCION ====================

# COMO HAY TANTAS FUNCIONES DEJO EL ENLACE DE LA PAGINA DONDE LAS HE SACADO

# https://www.it-swarm.dev/es/python/funcion-inversa-multiplicativa-modular-en-python/972004398/ 

# FUNCION BASADA EN ALGORITMO DE EUCLIDES

def multiplicative_inverse(a, b):
    origA = a
    X = 0
    prevX = 1
    Y = 1
    prevY = 0
    while b != 0:
        temp = b
        quotient = a/b
        b = a%b
        a = temp
        temp = X
        a = prevX - quotient * X
        prevX = temp
        temp = Y
        Y = prevY - quotient * Y
        prevY = temp

    return origA + prevY

print multiplicative_inverse(59, 26)  # NO SE QUE PASA. DA 60 Y DEBERIA DAR 15 !!! ojo !!! 

# ==================== QUINTA FUNCION ==================

def find_mod_inv(a,m):

    for x in range(1,m):
        if((a%m)*(x%m) % m==1):
            return x
    raise Exception("El inverso modular no existe.")

#a = 13
#m = 22

a = int(input("Introduce numero: "))
m = int(input("Introduce modulo: ")) 

try:
    res=find_mod_inv(a,m)
    print("El Inverso Multiplicativo Modular es: "+ str(res))

except:
    print('El inverso modular no existe.') 

# ================ SEXTA FUNCION ===================

# USAMOS LA FUNCION INCORPORADA EN PYTHON -pow- 

print 
print "Usamos la funcion de python -pow-" 
print 

a = 38
m = 97

res = pow(a, m-2, m)
print "El inverso multiplicativo modular es: " + str(res) 
print 


Ejemplo. El inverso multiplicador del numero 63 en modulo 26 es 19.
19

Ingresa el numero: 145
Ingresa el modulo: 26

El INV. MULT. MODUL. del valor introducido en el modulo introducido es: 7

56
-1
19
60
Introduce numero: 196
Introduce modulo: 26
El inverso modular no existe.

Usamos la funcion de python -pow-

El inverso multiplicativo modular es: 23

Calculadora básica de fracciones

 #!/usr/bin/python
# -*- coding: utf-8 -*- 
# PEQUEÑA CALCULADORA DE FRACCIONES.
from fractions import Fraction
a = Fraction(3, 5)
b = Fraction(8, 12)
c = a + b
print "(3/5) + (8/12):", c
d = Fraction(4, 6)
e = Fraction(56, 23) 
f = d - e 
print "(4/6) - (56/23):", f
g = Fraction(27, 35)
h = Fraction(17, 22) 
i = g * h 
print "(27/35) * (17/22):", i
j = a + b - e * g
print "(3/5) + (8/12) - (56/23) * (27/35)", j


Salida:

(3/5) + (8/12): 19/15
(4/6) – (56/23): -122/69
(27/35) * (17/22): 459/770
(3/5) + (8/12) – (56/23) * (27/35) -211/345

Más ejemplos de estructuras if-elif-else

#!/usr/bin/python

# SCRIPT SIMPLE DE IF-ELSE

import random

valor1 = random.randint(1,10) 
valor2 = random.randint(1,10)

print "Primer Valor:"
print valor1

print "Segundo Valor:"
print valor2

if valor1 == valor2:     
    print valor1    
    print valor2
    print "EL PRIMER VALOR ES IGUAL AL SEGUNDO VALOR"
else:
    print "EL PRIMER VALOR NO ES IGUAL AL SEGUNDO VALOR"
    
if valor1 < 5:
    print valor1
    print valor2
    print "EL PRIMER VALOR ES MENOR QUE 5"
else:
    print "EL PRIMER VALOR NO ES MENOR QUE 5"

if valor2 > 5:
    print valor1
    print valor2
    print "EL SEGUNDO VALOR ES MAYOR QUE 5"
else:
    print "EL SEGUNDO VALOR NO ES MAYOR QUE 5"

La salida sería la siguiente si nos diera por ejemplo estos dos valores:

Primer Valor:
3
Segundo Valor:
2
EL PRIMER VALOR NO ES IGUAL AL SEGUNDO VALOR
3
2
EL PRIMER VALOR ES MENOR QUE 5
EL SEGUNDO VALOR NO ES MAYOR QUE 5