# 01
def tabla_multiplicar(numero):

    numero=int(input("Ingrese un numero: "))

    for item in range(1,11):
        resultado=numero*item
        print(f"{item} x {numero} = {resultado}")

# tabla_multiplicar(2)

#02
def palindromo():
    parametro=input("ingrese una palabra: ")
    lista=list(parametro)
    nueva_lista=lista[::-1]
    if lista==nueva_lista:
        return print(f"{lista} es palindromo a : {nueva_lista}")
    else :
        return print("NO ES PALINDROMO")
# palindromo()

#03

def coincidencia_palabra():
    
    texto='hola soy, una pAlabra en una frase, PALABRA'.lower()  #devolder 2
    # palabra2='mundo cruel word estupido'  #devolder 0
    remplazo=texto.replace(',','')
    lista=remplazo.split(" ")
    print(lista)
    
    kword='palabra'
    contador=0
    for item in lista:
        if item==kword:
            contador+=1
    print(f"{kword} se repite {contador} vez ")

# coincidencia_palabra()


#04

def invertir_palabra():
    palabra=input("ingrese una palabra: ")
    nueva_lista=list(palabra)

    invertido=''
    for item in nueva_lista:
        invertido=item +invertido
    print(invertido)
    
    #forma 2
    # print(nueva_lista)
    # new_lista=[]
    # for item in nueva_lista[::-1]:
    #     new_lista.append(item)
    # print(nueva_lista)
    # unido="".join(nueva_lista)
    # print(unido)
    
# invertir_palabra()

#5

def sacar_porcentaje():

    porcentaje=float(input("ingrese un porcentaje: "))/100
    numero=int(input("ingrese un numero: "))
    resultado=numero*porcentaje

    return print(resultado)

# sacar_porcentaje()

#6

# lado_horizontal1=""
# lado_horizontal2=""
# lado_vertical1=""
# vacio=""
# for item in range(0,5):
#     lado_horizontal1=lado_horizontal1+"* "    
# print(lado_horizontal1)

# for item in range(0,5):
#     if item==0 or item==4:
#         lado_vertical1=lado_vertical1+"*"
#     elif item==4:
#         lado_vertical1=lado_vertical1+"*"
#     else:
#         vacio=vacio+" " 

# print(lado_vertical1)



# for item in range(0,5):
#     lado_horizontal2=lado_horizontal2+"*"    
# print(lado_horizontal2)



#7

def impares():

    numero1=int(input("ingrese el primer numero:"))
    numero2=int(input("ingrese el segundo numero:"))
    contador=0
    for item in range(numero1,numero2):
        if item%2==0:
            # print(f"el numero {item} es PAR")
            contador=contador+1
        else:
            continue
    print(contador)

# impares()

#8

def invertir_numero():

    numero=input("ingrese un numero:")
    lista=list(numero)
    nueva_lista=lista[::-1]

    lista3="".join(nueva_lista)

    print(lista3)

# invertir_numero()

#9

def elemento_comun():

    lista1=[1,2,3,4,5,6,7,8,9,10,7,7]
    lista2=[11,12,13,14,15,16,7,8,9,10,7,7]

    interseccion=[]

    for item1 in lista1:
        for item2 in lista2:
            if item1==item2 and item1 not in interseccion: #sin repeticion
            # if item1==item2:
            # con repeticion
                interseccion.append(item1)

    print(interseccion)

# elemento_comun()


#10

def escalera():

    numero=int(input("ingresa un numero: "))

    escalera='[-]'

    acumulador=0

    for item in range(1,numero):

        print(escalera)
        escalera=escalera+"[-]"
        # print(escalera*item)
# escalera()


#11

def texto_censurado():

    texto='holfbda **--hola846 holafdg'
    busqueda='hola'

    if (not texto and not busqueda):
        print("no puedes leer el texto y la busqueda")

    elif (not texto and busqueda):
        print("no puedes leer el texto")

    elif (texto and not busqueda):
        print("no puedes hacer la busqueda")
        
    elif (texto and busqueda):
        print(texto.replace(busqueda, "[-CENSURADO-]"))

# texto_censurado()

#12
def hasta_cero():
    numero=int(input("ingresa un numero: "))
    suma=0

    while numero>0:
        suma=suma+1
        print(numero)
        numero=numero-8
        if numero<=0:
            print(0)

# hasta_cero()

#13 divide arreglo











#14

def repetir_cadena():
    cadena=input("ingrese un texto: ")
    repeticion=8
    nueva_cadena=''
    # resultado=cadena*repeticion
    for item in range(1,repeticion):
        nueva_cadena=nueva_cadena+cadena
    print(nueva_cadena)

# repetir_cadena()


#15


# texto='hola, mundo mundial, chau mundo, feliz'

# print(texto)
# texto_limpio1=texto.replace(",","")
# texto_limpio2=texto_limpio1.replace(" ","")
# print(texto_limpio2)
# lista=list(texto_limpio2)
# print(lista)

# mapeo_letras=[]
# contador=0

# for item in lista:
#     contador=contador+1
#     if not item in mapeo_letras[contador]:
#         mapeo_letras[item]=1
    










#16

def numero_vocales():

    texto=input("ingresa un texto: ")
    lista=list(texto)

    print(lista)
    acumulador=0
    for item in lista:

        if item=='a' or item=='e' or item=='i' or item=='o' or item=='u' :
            acumulador=acumulador+1

    print(acumulador)

# numero_vocales()

#17

# buzzlightyear
def multiplos_buzz():
    numero=int(input("ingresa un numero: "))

    for item in range(1,numero):
        if item%3==0 and item%5==0:
            print("buzzlightyear")
        elif item%3==0:
            print("buzz")
        elif item%5==0:
            print("lightyear")
        else:
            print(item)

# multiplos_buzz()

#18
def divisores():
    numero=int(input("ingresa un numero: "))
    acumulador=0
    for item in range(numero,0,-1):
        acumulador=acumulador+1
        if numero%acumulador==0:
            print(f"{acumulador} es divisor de {numero}")

# divisores()

#19

def peliculas():

    peliculas={
        'inception':False,
        'batman 1':False,
        'batman 2':True,
        'batman 3':False,
        'memento':True,
        'interstellar':True,
        'tenet':True
    }

    print(peliculas)
    for clave,valor in peliculas.items():

        if valor==True:
            print("Ya viste la Peliculas")
        
        else: 
            print("NO La has visto")

# peliculas()


#20

def anagrama():

    palabra='AmOr****'.lower()
    palabra2='RoMa@@@'.lower()


    a=palabra.replace('*','')
    b=palabra2.replace('@','')

    lista=list(a)
    lista2=list(b)

    lista.sort()
    lista2.sort()

    print(a)
    print(b)

    if lista==lista2:
        print(f"{palabra} y {palabra2} son un anagrama")

    else: 
        print("NO ES UN ANAGRAMA")

# anagrama()

#21

def recortar():

    palabra=input("ingrese un texto: ")     #los 6 primeros 'Cursos'
    hasta=int(input("hasta: "))

    lista=list(palabra)
    contador=0

    resultado=[]

    for item in lista:
        contador=contador+1
        if contador<=hasta:
            # print(f"{contador} + {item}")
            resultado.append(item)

    resultado_final="".join(resultado)

    print(resultado_final)

# recortar()



#22

def numero_mayor_menor():
    a=int(input("ingrese el primer numero: "))
    b=int(input("ingrese el segundo numero: "))

    if a>b:
        print(f"{a} es mayor que {b}")
    elif a<b:
        print(f"{a} es menor que {b}")
    else:
        print(f"{a} es igual que {b}")

# numero_mayor_menor()


#23










#24

def permutacion():

    permutacion1=[1,2,3,4,5]
    contador=0
    lista=[]

    for item in permutacion1:
        contador=contador+1
        if contador==item:
            lista.append(contador)
            # print(f"esto va bien {contador}-{item}" )

    print(lista)
    if lista==permutacion1:
        print("True")
    else:
        print("False")
            # print("esto se fue al diablo")


# permutacion()


#25

def numero_may_min():
    palabra1='RUSSelllllll'  #JOAQUIN #victor
    lista1=list(palabra1)

    contador_may=0
    contador_min=0
    for item in lista1:

        if item==item.upper():
            contador_may=contador_may+1
        if item==item.lower():
            contador_min=contador_min+1

    unido="".join(lista1)
    print(f"hay {contador_may} mayusculas")
    print(f"hay {contador_min} minusculas")

    # print(unido)
    if contador_may>contador_min:
        print(unido.upper())
    if contador_may<contador_min:
        print(unido.lower())

# numero_may_min()

#26

def fibonacci():
    n = 10
    a = 1
    b = 2
    print(a)
    print(b)
    for i in range(0, n-2):
        aux = a + b   # usamos una variable auxiliar para obtener el siguiente valor de la serie
        print(aux)
        a = b
        b = aux
        # print(f"---ahora a={a} y b={b} ")

# fibonacci()


#27

def años_meses_dias():
    numero=int(input("ingrese un numero de dias: "))

    años=numero//365
    años_resto=numero%365
    meses=años_resto//30
    dias=años_resto%30

    print(f"{años} años")
    print(f"{meses} meses")
    print(f"{dias} dias")

# años_meses_dias()


#28

def factorial():
    numero=int(input("ingrese un numero: "))
    acumulador=1

    for item in range(1,numero+1):
        acumulador=acumulador*(item)
        print(f"el acumulador es {acumulador}")

# factorial()

#29

def capicua():
        
    numero=2014
    texto=str(numero)
    lista=list(texto)
    nueva_lista=[]

    longitud=len(lista)
    contador=longitud

    for item in lista:
        nueva_lista.append(lista[contador-1])
        contador=contador-1
    print(lista)
    print(nueva_lista)

    if lista==nueva_lista:
        print("es capicua")
    else:
        print("no es capicua")

# capicua()

#30

def eliminar_duplicados():

    lista=[1,2,3,0,1,2,41,3,5,6,4,5,8,63,4,56,5,'abc','xyz','hola','mundo']

    nueva_lista=[]
    for item in lista:
        if type(item) is int:
            nueva_lista.append(item)
    print(nueva_lista)

    longitud=len(nueva_lista)
    print(f"la longiutd es: {longitud}")
    nuevo_set=set(nueva_lista)
    print(nuevo_set)
    lista_final=list(nuevo_set)
    print(lista_final)

# eliminar_duplicados()



#31
def angulos():
    numero=int(input("ingresa un numero: "))
    if numero in range(0,90):
        print("angulo agudo")
    elif numero in range(90,91):
        print("angulo recto")
    elif numero in range(91,180):
        print("angulo obtuso")
    elif numero in range(180, 181):
        print("angulo llano")  

# angulos()
    

#32

def alcuadrado():
    entrada=[1,2,6,'',2,True,7,8,9,'as','bc','123',[154],{'rojo':'stop'}]

    lista=[]
    for item in entrada:
        if type(item) is int:
            lista.append(item)

    print(lista)

    lista2=[]
    for item in lista:
        resultado=item**2
        lista2.append(resultado)
    print(lista2)


# alcuadrado()

#33









#34
def calculadora():
    a=int(input("ingrese el primer numero: "))
    b=int(input("ingrese el segundo numero: "))

    suma=a+b
    resta=a-b
    producto=a*b
    division=a/b

    print(f"suma es {suma}")
    print(f"resta es {resta}")
    print(f"producto es {producto}")
    print(f"division es {division}")

# calculadora()

#35

def primeroyultimo():

    lista=[]
    for item in range(1,5):
        lista.append(input(f"ingrese el dato numero {item}: "))
        
    # lista=['@','1','3dfd','245',34,2,'#','Hol4']
    longitud=len(lista)
    print(lista)
    nueva_lista=[]

    for item in lista:
        
        if item==lista[0]:
            nueva_lista.append(item)
        if item==lista[longitud-1]:
            nueva_lista.append(item)
    print(nueva_lista)

# primeroyultimo()

#36

def cuenta_letras():
        
    texto=input("ingresa un texto: ").lower()
    print(texto)
    lista=list(texto)

    print(lista)
    vocales=0
    consonates=0
    for item in lista:

        if item=='a' or item=='e' or item=='i' or item=='o' or item=='u' :
            vocales=vocales+1
            
        elif item==' ': 
            continue
        else: 
            consonates=consonates+1
            
    print(vocales)
    print(consonates)

# cuenta_letras()

#37

texto=''













#38

def cuadrado():

    numero=int(input("ingrese un numero: "))

    for item in range(0,numero+1):
        
        if numero>=0:
            resultado=item**2
            print(resultado)

# cuadrado()
#39

def email_validado():

    email='roberthbardales@hotmail.com'.lower()
    arroba=email.find('@')
    com=email.find('.com')
    es=email.find('.es')

    if arroba>-1 and (com>-1 or es>-1):
        print("Email Valido")
    else:
        print("Email INCORRECTO")

# split1=email.split('@')
# print(split1)
# unido1=''.join(split1[1])
# split2=unido1.split('.')
# print("***********")
# split1.pop()
# lista=split1+split2
# print(lista)

# for item in lista:
#     if item=='@' and item=='.' :
#         print("email valido")
#     else:
#         print("email Incorrecto")
#         break

# email_validado()

#40

def numero_mayor_menor():
    
    lista=[54,6,78,21,8,9,98,546]

    longitud=len(lista) -1 
    lista.sort()

    print(f"el numero menor es: {lista[0]}")
    print(f"el numero mayor es: {lista[longitud]}")

    print(lista)
 

# numero_mayor_menor()

#41

def triangulo_asteriscos():
    n=int(input("ingrese una cantidad:" ))
    for item in range(1, n):
        espacios=n-item
        print(" "*espacios+'* '*item)
        
        
triangulo_asteriscos()









#42
from random import randint

def aleatorio():
    
    minimo=int(input("ingrese el numero menor: "))
    maximo=int(input("ingrese el numero mayor: "))
    aleatorio=randint(minimo,maximo)
    
    return print(aleatorio)

# aleatorio()

#43

def promedio():
    
    lista=[1,2,3,4,5]

    longitud=len(lista)
    suma=0
    for item in lista:
        suma=suma+item
        
    promedio=suma/longitud
    print(promedio)
        
# promedio()

#44

def dos_palabras():

    palabra=['hola','chau','mundo cruel','maldito feliz ','russell','bardales','perro cumbion']
    lista=[]
    for item in palabra:
        
        if item.find(" ")>0:
            lista.append(item)
    print(lista)

# dos_palabras()

#45

def aprobados_desaprobados():

    palabra=[
        ['victor',8],
        ['russell',6],
        ['carlos',5],
        ['manuel',4],
        ['pablo',1],
    ]

    print(palabra)

    aprobados=0
    desaprobados=0
    for item in palabra:

        if item[1]>=5:
            aprobados=aprobados+1

        else:
            desaprobados=desaprobados+1
            
    print(f"hay {aprobados} aprobados")
    print(f"hay {desaprobados} desaprobados")

# aprobados_desaprobados()



#46













#47













#48












#49









#50
def devuelve_bucles():
    # 0,6,9 //1 bucle
    # 8 //2 bucle

    numero_ingresado=input("ingrese un numero: ")
    numero=[]
    lista=list(numero_ingresado)

    for item in lista:
        numero.append(int(item))

    print(numero)
    acumulador=0
    for item in numero:
        if item ==0 or item==6 or item==9:
            acumulador=acumulador+1

        elif item==8:
            acumulador=acumulador+2

    print(acumulador)

# devuelve_bucles()


#51

def pares_impares():

    lista1=[1,2,3,4,5,6,7,8,9,10,11,12]
    pares=[]
    impares=[]

    for item in lista1:
        if item%2==0:
            pares.append(item)
        else:
            impares.append(item)

    print(pares)
    print(impares)

# pares_impares()






#observacion


# string="encontrar y devolver un caracter de javascript"

# print(
#     type(string)
# )
# busqueda=string.find('j')
# print(busqueda)
# print(string[36])

#ordenamiento burbuja