No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso B谩sico de Python

Curso B谩sico de Python

Facundo Garc铆a Martoni

Facundo Garc铆a Martoni

Proyecto: videojuego

27/32
Recursos

Para el siguiente ejemplo, utilizaremos m贸dulos en Python para crear la funcionalidad de nuestro c贸digo. Un m贸dulo es un archivo con funciones ya predefinidas, que tenemos disponibles para ejecutarlas. Para traer o invocar un m贸dulo, debemos escribir lo siguiente:

import random

En este caso, 鈥渋mportamos鈥 la funci贸n random, que trae un conjunto de funciones que nos permiten trabajar con la aleatoridad.

numero_aleatorio = random. 

Gracias al punto ., accedemos a las funciones que trae el m贸dulo. En este caso, generamos una variable y le asignamos random.randint(1, 100), lo cual nos genera un n煤mero aleatorio entero desde un n煤mero hasta otro (en este caso del 1 al 100).

Ejemplo de juego de aleatoriedad con m贸dulos en Python

import random

def run():
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input("Elije un numero del 1 al 100 :"))
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print("Busca un numero mas grande ")
        else:
            print("Busca un numero mas peque帽o ")
        numero_elegido = int(input("Elije otro numero  :"))
    print("Ganaste!")


if __name__ == "__main__":
    run()

Aporte creado por: Rusbel Berm煤dez, Ignacio Crespo.

Aportes 683

Preguntas 68

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Aqui le implemente un sistema de vidas, saludos.

<code>
import random

def run():
    numerorandom = random.randint(1, 100)
    numeroelegido = int(input("Introduce un numero: "))
    vidas = 5
    while numerorandom != numeroelegido :
        if numerorandom < numeroelegido : 
            print("Elige un numero mas peque帽o.")
            vidas -= 1
        elif numerorandom > numeroelegido : 
            print("Elige un numero mas grande.")
            vidas -= 1
        if vidas == 0 :
            print("GAME OVER")
            break
        print("Tienes", vidas, "vidas")
        numeroelegido = int(input("Introduce numero: "))
    if numerorandom == numeroelegido : 
        print("FELICIDADES GANASTE")


if __name__ == "__main__" : 
    run()

en VS Code si escribes main te construye toda la sentencia.

esta son algunas de las funciones que se encuentran en esta librer铆a.

El m贸dulo random de la librer铆a est谩ndar de Python incluye un conjunto de funciones que permiten obtener de distintos modos n煤meros aleatorios o, para ser rigurosos, pseudoaleatorios.

La funci贸n randint() devuelve un n煤mero entero incluido entre los valores indicados. Los valores de los l铆mites inferior y superior tambi茅n pueden aparecer entre los valores devueltos.

La funci贸n randrange() devuelve enteros que van desde un valor inicial a otro final separados entre s铆 un n煤mero de valores determinados. Esta separaci贸n (o paso) se utiliza en primer lugar con el valor inicial para calcular el siguiente valor y los sucesivos hasta llegar al valor final o al m谩s cercano posible.

**La funci贸n random() **devuelve un n煤mero float entre 0 y 1

La funci贸n uniform() devuelve un n煤mero float incluido entre los valores indicados.

entre muchas otras funciones que se encuentran en esta librer铆a.

Para las personas que quieran instalar la fuente, sigan estos pasos:

  1. Vayan al link y descarguen el paquete
  2. Despues de descomprimir el archivo, si estan en Windows abran la carpeta ttf.
  3. Instalen todas las fuentes, dando doble clic e instalar.
  4. En VSC vayan a File, Preferences, Settings.
  5. En la parte de Text Editor, Font le dan a la 2da opcion que dice 鈥淓dit in settings.json鈥
  6. Cuando se les abra el archivo, peguen esto:
"editor.fontFamily": "'Fira Code'",
"editor.fontLigatures": true
  1. Le dan a guardar y listo

Le agregu茅 una validaci贸n por si el usuario elige un n煤mero mayor a 100 o menor a 1 馃専

Hola a todos!

Quise recrear el c贸digo del juego y le a帽ad铆 un vs entre el humano y la m谩quina (la pc). En este caso el que adivine el n煤mero en menos intentos es el ganador. A continuaci贸n el c贸digo:

import random


def adivinar_numero_humano():
    print("""
    
Ahora ser谩 tu turno!!!.""")
    numero = random.randint(1,100)
    numero_adivinado = int(input("""
Adivina el n煤mero que he pensado: """))
    intentos = 1
    while numero_adivinado != numero:
        intentos += 1
        if numero < numero_adivinado:
            numero_adivinado = int(input("Digita un n煤mero menor: "))
        else:
            numero_adivinado = int(input("Digita un n煤mero mayor: "))
    print("""
    Has adivinado mi n煤mero en un total de """ + str(intentos) + " intentos.")
    return intentos


def adivinar_numero_maquina():
    inicio=''
    print("""
Adivinar茅 el n煤mero que est谩s pensando.
    """)
    while inicio != 'ok':
        inicio = input("Piensa un n煤mero del 1 al 100 y cuando lo tengas escribe ok: ")
    print("""
    Para entender si he adivinado tu n煤mero o no utilizaremos el siguiente protocolo:
    1. Si el n煤mero que pensaste es mayor al que te dije.
    2. Si el n煤mero que pensaste es menor al que te dije.
    3. Si el n煤mero es correcto.    
    """)
    opcion = 0
    lim_inferior = 1
    lim_superior = 100
    numero_pensado = random.randint(lim_inferior,lim_superior)
    intentos = 0
    while opcion != 3:
        opcion = int(input("El n煤mero que pensaste fue " + str(numero_pensado) +  ": "))
        intentos += 1
        if opcion == 1:
            lim_inferior = numero_pensado + 1
        elif opcion == 2:
            lim_superior = numero_pensado - 1
        numero_pensado = random.randint(lim_inferior,lim_superior)
    print("""
    He adivinado tu n煤mero en un total de """ + str(intentos) + " intentos.")
    return intentos

def run():
    intentos_pc = adivinar_numero_maquina()
    intentos_humano = adivinar_numero_humano()
    if intentos_pc < intentos_humano:
        print("""
    Te he ganado en esta oportunidad""")
    elif intentos_humano < intentos_pc:
        print("""
    Has tenido algo de suerte, me has ganado. Felicitaciones!""")
    else:
        print("""
    Al parecer esta vez me has empatado.""")

if __name__ == '__main__':
    run()```

A mi se me hizo m谩s interesante agregar un sistema que te indica cuantos intentos te tom贸 adivinar el n煤mero

import random

def run():
  intentos = 0
  numero_aleatorio = random.randint(1, 100)
  numero_elegido = int(input('Elige un n煤mero del 1 al 100: '))
  while numero_elegido != numero_aleatorio:
    if numero_elegido < numero_aleatorio:
      print('Elige un n煤mero m谩s grande')
    else: 
      print('Elige un n煤mero m谩s peque帽o')
    intentos += 1
    numero_elegido = int(input('Elige otro n煤mero: '))
      
  print('Habe铆s ganao con ' + str(intentos + 1) + ' intentos')

if __name__ == '__main__':
  run()

En la consola saldr铆a as铆:

鉃  python-basico python3 adivina_el_numero.py
Elige un n煤mero del 1 al 100: 55
Elige un n煤mero m谩s grande
Elige otro n煤mero: 70
Elige un n煤mero m谩s peque帽o
Elige otro n煤mero: 60
Elige un n煤mero m谩s grande
Elige otro n煤mero: 64
Elige un n煤mero m谩s grande
Elige otro n煤mero: 69
Habe铆s ganao con 5 intentos

Hola, les comparto el juego con niveles y vidas, agradezco me corrijan si ven algo que mejorar

import random

def logica_juego(dificultad, vidas):
    # esta funcion desarrolla la ligica del juego
    numero_aleatoreo = random.randint(1, dificultad)
    contador_vidas = 0
    numero_jugador = int(input('escribe el numero de tu elecci贸n: '))
    while not numero_aleatoreo == numero_jugador:
        if contador_vidas == vidas:
            print('FIN DEL JUEGO')
            break
        elif numero_aleatoreo > numero_jugador:
            print('el numero es mayor')
        elif numero_aleatoreo < numero_jugador:
            print('el numero es menor')
        contador_vidas += 1
        print(f'has perdido {contador_vidas} vidas')
        numero_jugador =int(input('escribe el numero de tu elecci贸n: '))
    if numero_aleatoreo == numero_jugador:
        print('GANASTE')  
    
def run():
    rango_dificultad = 0
    vidas = 0
    # esta bloque de c贸digo contine la dificulta e interface del juego.
    print('''
                                    bienvenido a encuentra el numero
                                    ''')
    nivel_de_dificultad = int(input('''
                                    ingresa el numero la dificultad del juego:
                                    (1) para facil de  (1-50) 6 vidas
                                    (2) para medio de  (1-100) 7 vidas
                                    (3) para dificil de (1-500) 8 vidas
                                    (4) para nivel dios de(1-1000) 12 vidas 
                                    '''))  
    while nivel_de_dificultad < 1 or nivel_de_dificultad > 4:
        nivel_de_dificultad = int(input('ingresa un numero del listado: '))        
    if nivel_de_dificultad == 1:
        rango_dificultad = 50
        vidas = 6
    elif nivel_de_dificultad == 2:
        rango_dificultad = 100
        vidas = 7
    elif nivel_de_dificultad == 3:
        rango_dificultad = 500
        vidas = 8
    elif nivel_de_dificultad == 4:
            rango_dificultad = 1000
            vidas = 12
        
    dificultad = rango_dificultad
    print(dificultad)
    while logica_juego(dificultad, vidas) == True:
        pass# me toco agregar pass por que me generaba un error de indentaci贸n 


if __name__ == '__main__':
    run()```

Muy buena clase. Dejo una explicaci贸n sobre los m贸dulos que espero que les sea 煤til:
M贸dulos
Un m贸dulo es un archivo con funciones ya predefinidas, y qu茅 las tenemos disponibles para ejecutarlas. Para traer/invocar un m贸dulo, debemos escribir lo siguiente:

import random  #en este caso, "importamos" la funci贸n random, que trae un conjunto de funciones que nos permiten trabajar con la aleatoridad. 


numero_aleatorio = random.  #gracias al punto, accedemos a las funciones que trae el m贸dulo. En este caso, creamos una variable y le asignamos random.randint(1, 100), el cual nos genera un n煤mero random entero desde un n煤mero hasta otro (en este caso del 1 al 100)```

No recuerdo si Facundo en esta clase es donde menciona lo de su fuente (Se Llama Fire Code)

Me puse a investigar porque yo la queria usar; aqui les dejo como la pueden instalar. Espero les sirva.

Link:
https://github.com/tonsky/FiraCode

Tutorial:
https://www.youtube.com/watch?v=x_N9gfCj8pw

Tutorial espa帽ol:
https://www.youtube.com/watch?v=Dnq5QhY7lOQ

no consegui ganar ni una 馃槮
creo que le pondre vida infinita jejejej


Ac谩 est谩 mi manera de escribir el mismo c贸digo, cambiando un par de cosas y agregandole intentos, como mis compa帽eros.

import random

# mainloop
def game_loop(random_num, user_num):
    tries = 6
    while random_num != user_num:
        if random_num > user_num:
            print(f'El n煤mero es mayor que {user_num}')
            tries -= 1
            print(f'te quedan {tries} intentos')
        else:
            print(f'El n煤mero es menor que {user_num}')
            tries -= 1
            print(f'te quedan {tries} intentos')

        # Se pone aca porque se ejecuta independientemente de las condiciones
        user_num = int(input('Eleg铆 otro n煤mero: '))

        # when tries hit 0
        if tries == 1:
            print('Fin del juego, perdiste :(')
            print(f""" El n煤mero a adivinar era {random_num}
            """)
            break

        # user guess the num
        print('Felicidades, ganaste!! :D')


def run():
    print('Bienvenido a "A D I V I N A  E L  N U M E R O" ')
    print('-----------------------------------------------')
    print('Ten茅s 6 intentos para adivinar el n煤mero')

    random_num = random.randint(1,100)
    user_num = int(input('Escrib铆 el n煤mero que crees que es: '))

    game_loop(random_num, user_num)


if __name__ == "__main__":
    run()

Modulo: paquete de c贸digo escrito por las personas que hicieron python, que nosotros tenemos disponibles para poder ejecutar funciones ya escritas.

M茅todo: son funciones especiales asociadas a un tipo de dato.

Ya s茅 que pido mucha ayuda :C Pero les juro que hago mil pruebas antes de recurrir a ustedes :c
No s茅 como evitar que salga la 煤ltima frase subrayada en rojo.

Estoy llevando este curso porque realmente quiero aprender este lenguaje tan poderoso, pero es curioso que lo llevo de la mano de unas clases que estoy dando. Ayer cree con una estudiante un programilla vacil贸n para realizar tareas con las notas de los estudiantes y sus nombres usando ciclos for, while, if elif else, etc鈥

Le agregue un sistema de intentos restantes, un marcador de cuantos intentos tomo adivinar el numero y al perder indica cual era la respuesta correcta

import random


def run():
    print("Ingresa un numero entre 1 y 100, tienes 5 intentos para adivinar el numero correcto")
    intentos = 0
    intentos_restantes = 5
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input("elige un numero: "))
    
    while numero_elegido != numero_aleatorio:
        if numero_elegido > 100 or numero_elegido == 0:
            intentos_restantes += 1
            print("Este numero no es valido!")
        if numero_elegido > numero_aleatorio:
            intentos_restantes -= 1
            intentos += 1
            print("elige un numero mas bajo")
            print("Tienes", intentos_restantes, "intentos")
        if numero_elegido < numero_aleatorio :
            intentos_restantes -= 1
            intentos += 1
            print("elige un numero mas grande")
            print("Tienes", intentos_restantes, "intentos")
        if numero_elegido == numero_aleatorio:
            print("Ganaste!")
            print ("Te tomo", intentos, "intentos" )
            break
        if intentos_restantes == 0:
            print("Perdiste!")
            print(numero_aleatorio, "Era la respuesta correcta")
            break

        numero_elegido = int(input("elige otro numero: "))


if __name__ == "__main__":
    run()

Yo definitivamente soy un master, lo logr茅 a la primera :v

Use un poco de programaci贸n estructurada 馃槄

import random

lifes = 0

def run():
    num_random = random.randint(1,50)
    print(num_random)
    num_user = input_num()

    while num_random != num_user:
        if globals()['lifes'] > 1:
            if num_random < num_user:
                print_message('Elige un n煤mero mas peque帽o')
                manager_life(False)
            else:
                print_message('Elige un n煤mero mas grande')
                manager_life(False)
            num_user = input_num()
        else:
           print_message('GAME OVER')
           break
        
    if globals()['lifes'] > 1:
        print_message('Ganaste')


def input_num():
    return int(input('Ingrese un n煤mero: '))


def print_message(msg):
    print(msg)


def manager_life(again=True):
    if again:
        globals()['lifes'] = 2
    else:
        globals()['lifes'] -= 1
    
    lifes = globals()['lifes']

    print_message(f'********TUS VIDAS SON: {lifes}*********')


if __name__ == "__main__":
    manager_life()
    run()

馃懢 Adivina el n煤mero que tiene la computadora.

import random


def run():
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input("Ingrese un n煤mero del 1 al 100: "))
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print("Busca un n煤mero m谩s grande")
        else:
            print("Busca un n煤mero m谩s peque帽o")
        numero_elegido = int(input("Elige otro n煤mero: "))
    print("隆Ganaste! 馃攩")


if __name__ == '__main__':
    run()

Les comparto las ligas con la gu铆a y el repositorio donde se encuentra la fuente Fira Code que utiliza facundo:
Gu铆a: []https://tahoeninjas.blog/2019/03/16/setting-fira-code-as-your-default-visual-studio-code-font/
Repositorio: []https://github.com/tonsky/FiraCode/tree/fixed

Resulta que ya hab铆a empezado un juego parecido antes as铆 que lo he modificado con lo que ped铆a 茅l, lo comparto antes de ver su soluci贸n y luego la veo

Un m茅todo que les recomiendo para poder ganar este juego, es usar el m茅todo de bisecci贸n, el cual es un m茅todo num茅rico para poder buscar soluciones a ecuaciones no lineales.

Trayendolo a este problema, simplemente es buscar exactamente en la mitad del rango (en este caso 50) y si te dice que es mayor, a 50 sumarle la mitad del rango entre 50 y 100, ie 25, y as铆 ir Biseccionando el intervalo en el que se encuentra el n煤mero que estamos buscando.

Yo lo he probado con este juego y regularmente le atino antes del 6to intento.

Por cierto el c贸digo no es de mi autor铆a, estaba usando el de @Gistavo Enrique Palomino Bocanegra

Recomiendo el libro 鈥淚nventa tus propios juegos de computadora con Python鈥

Lo pueden encontrar en Google

Este ejercicio y m谩s vienen ahi.

Algunos comentan que ecribiendo 鈥渕ain鈥 le sale la funci贸n 鈥渕ain鈥, otros que con 鈥淿_鈥, en mi caso no pasa as铆, entonces me he creado un snippet para python (python.json)

Dejo el c贸digo:

"Ejecutar funci贸n main": {
        "prefix": "main",
        "body": [
            "def run():",
            "\tpass\n\n",
            "if __name__ == '__main__':",
            "\trun()"
        ]
    }

Ahora cuando escribo 鈥渕ain鈥 me crea toda esa estructura.

Un saludo.

鈥淪oy un espectacular jugador de este programa que acabo de crear鈥 jajajajaja

Al ver de nuevo este video me pregunte que tan 鈥淎leatorio鈥 puede ser una libreria que alguien definio?? me preguntaba quizas si uno conoce el algoritmo por el cual se genero esta aleatoriedad, no serian tan aleatorios, verdad?

Para mi sorpresa veo que la libreria oficial dice 鈥減seudo-aleatorio鈥 asi que si en un futuro implementan esta libreria con informacion sensible, tenganlo en cosnideracion! La documentacion oficial recomienda otra liberia para este fin llamada 鈥渟ecrets鈥

Random
Secrets

Proyecto videojuego 鉁咅煒

Gente este el codigo que realice, tener en cuenta que cuando tengas una vida y respondas erroneamente ya no te saldra el mensaje de 鈥淓lige un numero mas peque帽o/grande鈥 ya que en el if y elif se filtra las vidas y antes de ello se hace la resta.

def run():
    numero_random = random.randint(1, 100)
    numero_elegido = int(input("Introduce un numero del 1 al 100: "))
    vidas = 5
    while numero_random != numero_elegido :
        vidas -= 1
        if numero_random < numero_elegido and vidas > 0:
            print("Elige un numero mas peque帽o.")
        elif numero_random > numero_elegido and vidas > 0:
            print("Elige un numero mas grande.")
            
        if vidas == 0 :
            print("GAME OVER")
            break
        
        print("Tienes", vidas, "vidas")
        numero_elegido = int(input("Introduce numero: "))

    if numero_random == numero_elegido : 
        print("Felicidades Ganaste")


if __name__ == "__main__" : 
    run()

Le agregue un condicional para revisar que el n煤mero que el jugador escriba, coresponda al intervalo declarado.

Hice un ejercicio haciendo un juego de piedra papel o tijera, podria optimizarse mas pero de momento no se c贸mo

![](

馃Amigoos estoy muy emocionado por este juego鉁
Me qued贸 algo m谩s o menos as铆 :3

Le agregu茅 un l铆mite de vidas visual :3.

  • Aqu铆 el c贸digo ^^

en base a este juego hice este juego de piedra papel y tijera, espero sea de ayuda.

def juego():
    while True:
        print("**** Bienvenido a Piedra, Papel, Tijeras ****")
        herramientas ={1:"Tijeras", 2:"Papel", 3:"Piedra"}
        maquina = randrange(1,4)
        clave = int(input("""
        Haz tu eleccion: 
        [1] Tijeras
        [2] Papel
        [3] Piedra
        >>"""))
        print("\n Tu eleccion es ", herramientas[clave].upper())
        star = input("\nEsta listo para jugar digita [S] y si desea cambiar de opci贸n digita [C]: ").upper()
        if star == "S":
            if maquina == 1 and clave == 2:
                print ("\nPerdiste Gano la Maquina con", herramientas[maquina]," y tu sacaste ",herramientas[clave],"\n")
            elif maquina == 2 and clave == 3:
                print ("\nPerdiste Gano la Maquina con", herramientas[maquina]," y tu sacaste ",herramientas[clave],"\n")
            elif maquina == 3 and clave == 1:
                print ("\nPerdiste Gano la Maquina con", herramientas[maquina]," y tu sacaste ",herramientas[clave],"\n")
            elif maquina == clave:
                print ("\nEmpate... maquina saco ", herramientas[maquina]," y tu ",herramientas[clave],"\n")
            else:
                print ("\n!Felicitaciones隆 ganaste con ",herramientas[clave]," a la maquina ", herramientas[maquina],"\n")
            empezar = input("Quieres jugar de nuevo [S] o [N]: ").upper()
            if empezar == "S":
                continue
            else:
                print("\n Gracias por jugar")
                break
        elif star == "C":
            continue       


    # point enter
if __name__ == "__main__":
    from random import randrange
    juego()

Quise hacer mi versi贸n antes de ver el video.
Aqu铆 mi c贸digo.

import random

game_rules = '''
In this game you need to guess 
the number selected by the computer. 
This number is between 1 and 500. 
You only have 15 tries. 
Good luck! 
'''
print(game_rules)


random_number = random.randint(1, 500)
lifes = 14

def insert_number():
    new_number = int(input('Write a number between 1 and 500: '))
    return new_number

user_number = insert_number()

while user_number != random_number:
    if lifes == 0:
        print('You loose!')
        break

    if user_number > random_number:
        print('You need to try with a lower number.')
        lifes -= 1
        user_number = insert_number()
    elif user_number < random_number:
        print('You need to try with a bigger number.')
        lifes -= 1
        user_number = insert_number()
    
    
if user_number == random_number:
    print('Flawless victory!')

驴Y si le permitimos al jugador decidir el l铆mite superior del intervalo random?
Este es mi aporte.

import random


def run():
    maximo = int(input('驴Hasta qu茅 n煤mero quieres jugar?: '))
    numero_aleatorio = random.randint(1, maximo)
    numero_elegido = 0
    vidas = int(input('驴Cu谩ntas vidas quieres?'))
    print(f'Tienes {vidas} intentos')
    while numero_elegido != numero_aleatorio:
        numero_elegido = int(input('Ingresa un n煤mero: '))
        if vidas == 1:
            print('game over')
            print(f'El n煤mero era {numero_aleatorio}')
            break
        elif numero_elegido < numero_aleatorio:
            print('Ingresa un n煤mero mayor')
            vidas -= 1
            print(f'Te quedan {vidas} vidas')
        elif numero_elegido > numero_aleatorio:
            print('Ingresa un n煤mero menor')
            vidas -= 1
            print(f'Te quedan {vidas} vidas')

        else:
            print(
                f'Perfecto, el n煤mero {numero_aleatorio} es el correcto. Te ahorraste {vidas} vidas. 隆Eres muy bueno en esto!')


if __name__ == '__main__':
    run()

Lo customic茅 un poco, espero les agrade, se inspiren y hasta lo puedan mejorar! 馃槃

import random


def hearts(vidas):
    if vidas == 4:
        print("馃挅馃挅馃挅馃挅")
    elif vidas == 3:
        print("馃挅馃挅馃挅")
    elif vidas == 2:
        print("馃挅馃挅")
    elif vidas == 1:
        print("馃挅")
    else:
        print("GAME OVER 馃拃")


def run():
    menu = """
***** 隆ADIVINA EL N脷MERO! *****

Hola humano, mis neuronas positr贸nicas est谩n pensando
en un n煤mero del 1 al 100, cre茅s t煤, ser imperfecto,
poder adivinarlo en tan solo 5 intentos?  馃挅馃挅馃挅馃挅馃挅 
    """

    print(menu)
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input('Adivina el n煤mero: '))
    vidas = 5
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print('* el n煤mero es m谩s grande 馃槵')
        else:
            print('* el n煤mero es m谩s peque帽o 馃槵')
        vidas -= 1
        hearts(vidas)
        if vidas == 0:
            break
        numero_elegido = int(input('Elige otro n煤mero: '))

    if vidas != 0:
        print("隆Ganaste! 馃弳")


if __name__ == '__main__':
    run()

import random

def run():
    numero_aleatorio = random.randint(1,100)
    intentos = 5
    ganador = False
    numero = int(input('Elige un n煤mero del 1 a 100 '))
    print('Tienes '+str(intentos)+' intentos.'+str(numero_aleatorio))
    while numero != numero_aleatorio:
        if numero < numero_aleatorio:
            print('Busca un n煤mero m谩s grande ')
        else:
            print('Busca un numero m谩s peque帽o ')
        intentos-=1
        if intentos == 0:
            ganador=False
            break
        print('Te quedan '+str(intentos)+' intentos.')
        numero = int(input('Elige otro n煤mero '))

        if numero == numero_aleatorio:
            ganador = True

        
    if ganador:
        print('隆Ganaste!')
    else:
        print('隆Perdiste!')

if __name__ == '__main__':
    run()

Hola a todos. Les comparto mi c贸digo. En este caso adem谩s de el n煤mero aleatorio tambi茅n incorpor茅 intentos aleatorios para un poco m谩s de sabor. Agradezco cualquier mejora al c贸digo que puedan sugerirme.

<code> 

import random

def main():
intentos = random.randint(5,10)
aleatorio = random.randint(1,100)
print(f"Este programa te permite a
divinar un n煤mero del 1 al 100 con {intentos} intentos")
numero = int(input("Por favor ingresa tu n煤mero: "))

for i in range (1, intentos+1):
    if numero == aleatorio:
        print("Felicitaciones, lo lograste!")
        break
    elif numero > aleatorio:
        print("Intenta con un n煤mero m谩s peque帽o")
    else:
        print("Intenta con un numero m谩s grande")

    numero=int(input("Ingresa un nuevo n煤mero: "))

if name == 鈥main鈥:
main()

import random
def run ():
contador = 1
numero_aleatorio=random.randint(1,100)
numero_elegido = int(input('Adivina el n煤mero que est谩 entre 1 y 100鈥 Digita n煤mero : '))
while numero_elegido != numero_aleatorio:
if numero_elegido < numero_aleatorio:
print (鈥楳谩s grande鈥)
else:
print(鈥楳谩s peque帽o鈥)
contador += 1
numero_elegido = int(input('Adivina el n煤mero que est谩 entre 1 y 100鈥 Digita n煤mero : '))
print(鈥榞anaste en 鈥 + str(contador)+ 鈥 oportunidades鈥 )

if name == 鈥main鈥:
run()

Codigo del Juego

import random

def run():
    numero_random = random.randint(1, 100)
    numero_elegido = int(input('Elige un numero: '))

    while numero_elegido != numero_random:
        if numero_elegido < numero_random:
            print('Elige un numero mas grande.')
        else:
            print('Elige un numero mas peque帽o.')
        numero_elegido = int(input('Elige otro numero: '))
    print('Elegiste el correcto!')
    print(numero_random)


if __name__ == '__main__':
    run()
import random


def initializeGame(random_number, random_lives):
    while True:

        player_number = 0
        try:
            player_number = int(input("Number: "))
        except:
            print("Whoops! Invalid number.")
            continue

        if(player_number == random_number):
            print(f"馃帀 You won. ")
            break
        else:
            random_lives -= 1
            if(random_lives) <= 0:
                print("馃拃馃拃GAME OVER馃拃馃拃")
                break

            if player_number < random_number:
                print("馃挃 Wrong! Give me a higher number")
            else:
                print("馃挃 Wrong! Give me a lower number")


def run():
    random_number = random.randint(1, 100)
    random_lives = random.randint(1, 5)

    print(random_number)
    initializeGame(random_number, random_lives)


if __name__ == '__main__':
    run()

import random
comienza = random.randint(0, 10)
valor = int(input("ingrese un numero "))
while comienza != valor:
if comienza != valor:
if valor < comienza :
print(鈥渕谩s arriba鈥)
else:
print(鈥渕谩s Abajo鈥)
valor = int(input("ingrese otro numero "))
print(鈥淕Anaste鈥)

Le puse un simple contador de intentos

import random

def run():
numero_aleatorio = random.randint(1, 100)
intentos = 0
numero_elegido = int(input('Elige un n煤mero del 1 al 100: '))
while numero_elegido != numero_aleatorio:
if numero_elegido < numero_aleatorio:
print(鈥楤usca un n煤mero m谩s grande鈥)
else:
print(鈥楤usca un n煤mero m谩s peque帽o鈥)
intentos += 1
numero_elegido = int(input('Elige otro n煤mero: 鈥))
print(鈥櫬anaste! con 鈥 + str(intentos) + " intentos")

if name == 鈥main鈥:
run()

como dato curioso, este proyecto del videojuego de adivinar un n煤mero en un rango con Python, lo expliqu茅 a unas estudiantes de un club de chicas programadoras en Colombia

Mi aporte, te dice cuantas vidas tienes y al final si perdiste te dice que n煤mero era:

import random

def run():
    num_aleatorio = random.randint(1, 100)
    num_elegido = int(input("Elige un n煤mero del 1 al 100: "))
    vidas = 4

    while num_elegido != num_aleatorio:
        if vidas == 0:
            print("GAME OVER, el n煤mero era ", num_aleatorio)
            break
        if num_elegido < num_aleatorio:
            print("Busca un n煤mero m谩s grande, tienes ", vidas, " vidas")
            vidas -= 1
        else:
            print("Busca un n煤mero m谩s peque帽o, tienes ", vidas, " vidas")
            vidas -= 1
        num_elegido = int(input("Elige otro n煤mero del 1 al 100: "))
    if vidas > 0:
        print("隆Ganaste!")

if __name__ == '__main__':
    run()

Mi propia versi贸n con vidas.

import random


def run():
    numero = random.randint(1, 100)
    respuesta = 0
    vidas = 10
    while numero != respuesta:
        respuesta = int(input("Elige un numero del 1 al 100: "))
        if respuesta < numero:
            print("Mas grande")
        else:
            print("Mas chico")
        vidas -= 1
        if vidas < 0:
            print("Game over 馃槩")
    if numero == respuesta:
        print("ganaste 馃槑")


if __name__ == "__main__":
    run()

Cuando desees conocer los atributos que contiene un m贸dulo como el de random has lo siguiente:

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

" dir " listar谩 todos los atributos de dicho m贸dulo

Tambi茅n puedes consultar informaci贸n con el buildIn help

>>> help(random)
Help on module random:

NAME
    random - Random variable generators.

MODULE REFERENCE
    https://docs.python.org/3.9/library/random

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
        bytes
        -----
               uniform bytes (values between 0 and 255)

        integers
        --------
               uniform within range
...ACORTADO, SOLO COMO EJEMPLO

Ac谩 un peque帽o aporte del juego, con control de vidas:

import random

def main():
    lifes = 5
    print("Lifes: %s" % ('+'*lifes))
    number = random.randint(1, 100)
    user_number = int(input("Guess the number: "))
    while user_number != number:
        if user_number < number:
            print("Greater")
        else:
            print("Lower")
        
        lifes = lifes - 1
        if lifes == 0:
            print("Sorry, You Lose!")
            break
        else:
            print("Lifes: %s" % ('+'*lifes)) 
            
        user_number = int(input("Choose another number: "))
    
    if lifes != 0:
        print("You Win!")


if __name__ == "__main__":
    main()

Este es mi c贸digo, le agregu茅 una funci贸n validadora y una que deje el mensaje para el usuario:

import random

def run():
    pc_num = random.randint(1, 100)
    user_num = user_entry('inicio')
    while user_num != pc_num:
        if user_num > pc_num:
            mensaje = 'menor'
        else:
            mensaje = 'mayor'
        user_num = user_entry(mensaje)
    print(f'{user_num} es correcto!!!')


def user_entry(mensaje):
    if mensaje == 'inicio':
        user_num = input_validator(int(input('Ingresa un n煤mero del 1 al 100: ')),"")
    elif mensaje == 'menor':
        user_num = input_validator(int(input(f'Ingresa un n煤mero {mensaje}: ')),mensaje)
    else:
        user_num = input_validator(int(input(f'Ingresa un n煤mero {mensaje}: ')),mensaje)
    return user_num


def input_validator(number, mensaje):
    while number > 100 or number < 1:
        if mensaje == "":
            number = int(input('Ingresa un n煤mero del 1 al 100: '))
        else:
            number = int(input(f'El n煤mero debe estar entre 1 y 100: '))
    return number


if __name__ == '__main__':
    run()

Dejo mi aporte con n煤mero de intentos

from random import randint

def run():
    numero_intentos = 8
    numero_aleatorio = randint(1, 100)
    print(
        f'Bienvenido al juego Adivina el n煤mero. Tienes {numero_intentos} intentos.')
    numero_elegido = int(input('Elige un n煤mero entre el 1 y el 100: '))

    while numero_elegido != numero_aleatorio or numero_intentos != 0:
        if numero_elegido < numero_aleatorio:
            print('Busca un n煤mero mayor')
        else:
            print('Busca un n煤mero menor')
        numero_intentos -= 1
        print(f'Te quedan {numero_intentos} intentos')
        if numero_intentos == 0:
            print(
                f'\n隆隆隆OOOHHH!!! No has acertado el n煤mero! El n煤mero buscado era el {numero_aleatorio}')
            break
        numero_elegido = int(input('Elige otro n煤mero: '))
        if numero_elegido == numero_aleatorio:
            numero_intentos = 0
            print(
                f'\n隆隆隆EXCELENTE!!! El {numero_aleatorio} es el n煤mero buscado.')


if __name__ == '__main__':
    run()

Muchas gracias.

import random
def juego(vidas):
    num_a = random.randint(1, 10)
    def ayuda():
        if num_a <= 5:
            print('El numero es menor o igual a 5')
        else:
            print('El numero es mayor o igual a 6')
    ayuda()
    num = int(input("Ingresa un numero:"))
    if num == num_a:
        print('Felicidades, ganaste')
        exit()
        
    else:
        print('Puedes continuar, se te resto una vida')
        vidas -=1
        return vidas
def main():
    print("""
Tienes que adivinar cual es el numero que escogio la computadora
este numero va del 1 al 10, tienes 30 vidas, suerte.""")
    vidas= 30
    while(True):
        if vidas == 0:
            print("Fin del juego.")
            break
        vidas = juego(vidas)
        print("Te quedan: " + str(vidas) + " vidas.")
if __name__ == "__main__":
    main()

-- coding: utf-8 --

鈥溾"
Created on Sun Oct 31 15:46:24 2021

@author: desir
"""

import random

def run():
numerorandom = random.randint(1, 100)
numeroelegido = int(input("Introduce un numero: "))
vidas = 5
while numerorandom != numeroelegido :
if numerorandom < numeroelegido :
print(鈥淓lige un numero mas peque帽o.鈥)
vidas -= 1
elif numerorandom > numeroelegido :
print(鈥淓lige un numero mas grande.鈥)
vidas -= 1
if vidas == 0 :
print(鈥淕AME OVER鈥)
break
print("Te quedan: 鈥, vidas, " vidas鈥)
numeroelegido = int(input("Introduce un nuevo n煤mero: "))
if numerorandom == numeroelegido :
print(鈥淔ELICIDADES: 隆GANASTE!鈥)

if name == 鈥main鈥 :
run()

import random

def run():
    numeroAleatorio = random.randint(1,100)
    numero = int(input("Escribe el n煤mero para adivinar del 1 al 馃挴: "))

    while numero != numeroAleatorio:
        if numero < numeroAleatorio:
            print("Busca un n煤mero 鈫")
        else:
            print("Busca un n煤mero 鈫")
        numero = int(input("Escribe el numero: "))    
    print("隆Ganaste! 馃啋")
    


if __name__ == '__main__':
    run()

Les comparto mi codigo, Aparte del sistema de vidas van aumentando las rondas y se suman las vidas que tenias de la ronda anterior. Al terminar una ronda te dan vidas dependiendo de cual ronda sea:

Al pasar las primeras 5 rondas te suman 10 vidas.
de la ronda 5 a la 10, se suman 8 vidas.
Apartir de la ronda 15 solo se suman 5 vidas por ronda.

import random


def juego(vidas, ronda):
    numero = random.randint(1, 100)
    print('ronda ' + str(ronda))
    print(str(vidas) + ' vidas restantes')
    numero_elegido = int(input('Elige un n煤mero del 1 al 100: '))
    print('')
    while numero_elegido != numero and vidas > 1:
        if numero_elegido < numero:
            pista = 'mayor'
        elif numero_elegido > numero:
            pista = 'menor'
        vidas -= 1
        print(str(vidas) + ' vidas restantes')
        numero_elegido = int(input('Elige un numero ' + pista + ': '))
        print('')
    return vidas


def run():
    ronda = 1
    vidas = 10
    vidas = juego(vidas, ronda)
    while vidas != 1:
        print('Has ganado')
        print('')
        ronda += 1

        if ronda <= 5:
            vidas += 10
        elif ronda <= 10:
            vidas += 8
        elif ronda > 15:
            vidas += 5
        
        vidas = juego(vidas, ronda)
        if vidas == 1:
            break
    print('Perdiste')



if __name__ == '__main__':
    run()

**Modulo **
Es un paquete de c贸digo escrito por las personas que hicieron python y que tenemos disponible para poder ejecutarlo.

Como se importa un modulo:

import random

Aqu铆 dejo el c贸digo del juego un poco m谩s ordenado:

import random

def run():
    random_number = random.randint(1, 100)
    user_input = 0
    while user_input != random_number:
        user_input = int(input('Enter a number from 1 to 100: ')) # Colocamos el input dentro del ciclo y as铆 nos evitamos un input extra
        if user_input < 1 or user_input > 100: # Validamos que no se introduzcan n煤meros fuera de rango
            print(f'{user_input} is an invalid number')
        elif user_input < random_number:
            print('Try a bigger number...')
        elif user_input > random_number:
            print('Try a lower number...')
        else:
            break # Al adivinar el n煤mero correcto s贸lo salimos del ciclo
    print(f'{user_input} is the lucky number. Congratulations!') #聽Al salir del ciclo autom谩ticamente desplegamos el mensaje de felicitaciones
    


if __name__ == '__main__':
    run()

Espero les sirva de algo. Happy Coding!

existe un juego un poco m谩s entretenido para adivinar n煤meros que se llama picas y fijas, el sistema te dice cuantas picas y fijas hay en tu numero de acuerdo a la posici贸n de cada d铆gito

import random

def run():
    numero_aleatorio = random.randint(1,100)
    numero_elegido = int(input("Elige un n煤mero del 1 al 100: "))

    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print("Elige un n煤mero mayor a " + str(numero_elegido))
        elif numero_elegido > numero_aleatorio:
            print("Elige un n煤mero menor a " + str(numero_elegido))
        numero_elegido = int(input("Elige otro n煤mero: "))
    print("隆Ganaste, el n煤mero es " + str(numero_elegido) + "!")


if __name__ == '__main__':
    run()
<
import random


def run():
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input("Elige un numero del 1 al 100: "))

    while numero_elegido != numero_aleatorio:
        if numero_elegido < 1 or numero_elegido > 100:
            print("Error, recuerda que el numero debe estar entre el 1 y el 100")
            numero_elegido = int(input("Elige otro numero: "))
        else:
            if numero_elegido < numero_aleatorio:
                print("Busca un n煤mero m谩s grande")
            else:
                 print("Busca un n煤mero m谩s peque帽o")
            numero_elegido = int(input("Elige otro numero: "))
    print("隆Ganaste!")

if _name_ == "_main_":
    run()
> 

Realic茅 el ejemplo con un contador de vidas al igual que otros compa帽eros, con algunas variaciones.
Extension en VSC para tomar capturas de: CodeSnap

Le agregue vidas y niveles, espero que les guste 馃挌

<import random

def palabra(welcome, ask):
    welcome = welcome.lower()
    welcome = welcome.replace(" ","")
    if welcome == ask:
        return True
    else:
        return False


def levels(vidas, nivel):
    continuar = input("Deseas continuar con el nivel numero " + str(nivel) + " (si/no): ")
    if continuar == "si":
        numero_aleatorio = random.randint(1, 100)
        numero_elegido = int(input("Este es el nivel numero " + str(nivel) + " en este nivel solo tendras " + str(vidas) + " vidas 鉂も潳鉂も潳 Escribe un numero: "))
        for i in range(vidas):
            if numero_elegido == numero_aleatorio:
                print("Haz ganado!!! 馃お馃お馃お")
                break
            elif numero_elegido < numero_aleatorio:
                print("Busca un numero mas grande... Este es tu intento numero " + str(i) + " de " + str(vidas))
            else:
                print("Busca un numero mas pequeno... Este es tu intento numero " + str(i) + " de " + str(vidas))
            numero_elegido = int(input("Elige otro numero: "))
            i +=1
            if i  == (vidas):
               print("Haz perdido")
           

def run():
    welcome = input(""" 
    -------------------Bienvenido a adivina el numero馃榾------------------ 
    
    En que consiste este videojuego? Bueno trata de adivinar un numero
    entre 1 y 100
    
    Estas listo?(Si/No): """) 
    if palabra(welcome, "si"):
        numero_aleatorio = random.randint(1, 100)
        numero_elegido = int(input("Recua que solo tienes 10 vidas 鉂も潳鉂も潳 Escribe un numero: "))
        for i in range(1, 11):
            if numero_elegido == numero_aleatorio:
                print("Haz ganado!!! 馃お馃お馃お")
                levels(8,2)
                levels(5,3)
                levels(4,4)
                levels(3,5)
            elif numero_elegido < numero_aleatorio:
                print("Busca un numero mas grande... Este es tu intento numero " + str(i) + " de 10")
            else:
                print("Busca un numero mas pequeno... Este es tu intento numero " + str(i) + " de 10")
            numero_elegido = int(input("Elige otro numero: "))
            i += 1
            if i == 11:
                print("Haz perdido")
    else:
        print("Por favor, escribe (si o no )")


if __name__ == '__main__':
    run()> 

Hola a todos de lo aprendido hice un juego de pokemones.

import random 

def run ():
    pikachu_vida = 100
    yiglipop_vida = 100
    pikachu_poder1= 35
    pikachu_poder2= 25
    yiglipop_poder = 35
    yiglipop_poder2 = 21
    turn = random.randint(0,1 )
    while pikachu_vida > 0 and yiglipop_vida > 0:
        if turn == 1:
            poder = int(input("dime el poder que quieres de pikachu: 1 o 2:  "))
            if poder == 1:
                yiglipop_vida = yiglipop_vida - pikachu_poder1
                print (f"pikachu {pikachu_vida} yiglipop {yiglipop_vida}")
                turn = 0
            else:
                yiglipop_vida = yiglipop_vida - pikachu_poder2
                print (f"pikachu:  {pikachu_vida} yiglipop:   {yiglipop_vida}")
                turn = 0
            if turn == 0:
                poder = int(input("dime el poder que quieres de yiglipop  1 o 2:  "))
                if poder == 1:
                    pikachu_vida = pikachu_vida - yiglipop_poder
                    print (f"pikachu {pikachu_vida} yiglipop {yiglipop_vida}")
                    turn = 1
                else:
                    pikachu_vida = pikachu_vida - yiglipop_poder2
                    print (f"pikachu {pikachu_vida} yiglipop {yiglipop_vida}")
                    turn = 1           
    if yiglipop_vida <= 0 and pikachu_vida >= 0:
        print ("felicidades gano pikachu")
    else: 
        print ("felicidades gano yiglipop")    
    


if __name__ == '__main__':
    run ()

Mi humilde aporte

import random 
print('Adivina el numero que tengo fijado que esta entre 0 y 100 ')
opcion=1
fijo=random.randint(1,100)
while opcion==1:
  numero=int(input('Ingrese un numero '))
  if numero==fijo:
    print('El numero es '+str(fijo))
    opcion=2
    break
  elif numero<fijo:
    print('Ingrese un numero m谩s grande')
  else:
    print('Ingrese un numero m谩s peque帽o')
  

Implement茅 el sistema de vidas e introduc铆 un poco de ascii art para los resultados, aunque se ve un poco extenso por los espacios jaja

import random


def run():
    vidas=5
    print('Bienvenido al juego, tienes 5 vidas para intentar adivinar un numero')

    n=random.randint(1,100)
    print('Si aciertas el numero entre 1 y 100 ganas 馃')
    x=int(input('Elige un numero: '))
    while n!=x and vidas>0:
        vidas-=1
        if vidas==0:
            break
        if x>n:
            print('''Busca un numero mas peque帽o
            ''')
        elif x<n:
            print('''Busca un numero mas grande
            ''')
        
        x=int(input('Tienes '+str(vidas)+' vidas, elige otro numero: '))
           
    if vidas>0 and x==n:
        print('''
        隆Adivinaste!
                                    .''.       
             .''.      .        *''*    :_\/_:     . 
            :_\/_:   _\(/_  .:.*_\/_*   : /\ :  .'.:.'.
        .''.: /\ :   ./)\   ':'* /\ * :  '..'.  -=:o:=-
       :_\/_:'.:::.    ' *''*    * '.\~/.' _\(/_'.':'.'
       : /\ : :::::     *_\/_*     -= o =-  /)\    '  *
        '..'  ':::'     * /\ *     .~/.\~.   '
            *            *..*         :
             *
              *
        ''')
    elif vidas==0 and x!=n:
        print('''
        Mejor suerte la proxima
        
          _______
         |       |
        (| LOSER |)
         |  #1   |
          \     /
           `---'
           _|_|_
        
        '''+ 'El numero era '+str(n))


if __name__ == "__main__":
    run()

C脫DIGO DE LA CLASE:

import random

def run():
    numero_aleatorio = random.randint(1,100)
    numero_elegido = int(input('Elige un n煤mero del 1 al 100: '))
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print('Busca un n煤mero m谩s grande')
        else:
            print('Busca un n煤mero m谩s peque帽o')
        numero_elegido = int(input('Elige otro n煤mero: '))
    print('隆Ganaste!')


if __name__ == '__main__': #interpoint
    run()

Cuando corri el codigo como lo muestra
facundo en el video, me generaba un bucle infinito a la hora de digitar por primera vez mi c贸digo. esto lo solucione ajustando estas lineas asi, corren

        if numero_elegido < numero_aleatorio:
            print('Elije un n煤mero mayor')
        else:
            print('Elije un n煤mero menor')
        numero_elegido = int(input('Elije otro n煤mero: '))

Para los s铆mbolos:
https://www.youtube.com/watch?v=8kZv8SkVzEU

Link del profe:
https://github.com/tonsky/FiraCode

Carpeta:
鈥FiraCode-master\distr\ttf

Font Ligadures
Editar en el formato .json (si no les sale como en el video)
鈥渆ditor.fontLigatures鈥: true

(锞夆棔銉棔)锞*:锝ワ緹鉁ю煉

Este es mi c贸digo que hice:

AS铆 me quedo con contador de n煤mero de intentos

import random


def run():
    aleatorio = random.randint(1,100)
    acerto = False
    cont = 0
    while acerto == False:
        if(cont==0):
            elegido=int(input("Ingresa un n煤mero del 1 al 100: "))   
        else:
            if(elegido == aleatorio):
                acerto = True
                print("Felicitaciones Acertaste")
                print("El n煤mero de intentos que te ha tomado es: " + str(cont) + " intentos")
            elif(elegido > aleatorio):
                elegido=int(input("Ingresa un n煤mero menor: "))  
            else:
                elegido=int(input("Ingresa un n煤mero mayor: "))  
        cont+=1
    
    
if __name__ == "__main__":
    run()

Un peque帽o aporte, la verdad cada ves entiendo mas los bucles:

import random
def juego(numero):
    aleatorio = random.randint(1,10)
    intentos = 6
    while numero != aleatorio:
        if numero < aleatorio:
            print(f'Escrine un numero Mayor ')
            intentos-=1
        elif numero > aleatorio:
            print(f'Escrine un numero Menor ')
            intentos-=1
        if intentos == 0:
            print(f'Fin del juego')
            break
        print(f'Tienes {intentos} vidas ')
        numero = int(input("Escribe otro numero: "))
    if numero == aleatorio:
        print(f'El numero aleatorio es {aleatorio}, Ganaste')
    if intentos == 0:
        print("""
              驴Quieres volver a jugar?
              1)SI
              2)NO
              """)
        elegir = int(input("Elige una opcion: "))
        if elegir == 1:
            juego(numero)
        elif elegir == 2:
            print(f'Deacuerdo , ADIOS')
    
    
def run():
    numero = input("Escrine un numero: ")
    if numero.isnumeric():
        juego(int(numero))
    elif numero.__str__():
        print(f'** {numero} ** No es numerico')


if __name__ == '__main__':
    run()

En esta versi贸n del juego se tiene un total de 5 intentos para adivinar el n煤mero:

import random

def run():


    numero_secreto = random.randint(1, 100)
    nombre_jugador = input('Hola, 驴c贸mo te llamas?\n')
    print(f'\nMuy bien {nombre_jugador}, intenta adivinar un n煤mero secreto del 1 al 100. Ingresa un n煤mero:')
    numero_de_intentos = 0

    while numero_de_intentos < 5:
        intento = int(input())
        numero_de_intentos += 1
        if intento < numero_secreto:
            print('Tu n煤mero es muy bajo')
        if intento > numero_secreto:
            print('Tu n煤mero es muy alto')
        if intento == numero_secreto:
            break

    if intento == numero_secreto:
        print(f'Adivinaste el n煤mero en {numero_de_intentos} intentos.')

    else:
        print(f'No adivinaste el n煤mero.El n煤mero era {numero_secreto}.')


if __name__ == '__main__':
    run()

Les dejo el juego de piedra papel o tijera

<
import random


def resultado(opc):
    if opc == 1:
        win = ''' 
鈻堚枅鈺   鈻堚枅鈺 鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈺   鈻堚枅鈺    鈻堚枅鈺    鈻堚枅鈺椻枅鈻堚晽鈻堚枅鈻堚晽   鈻堚枅鈺    鈻堚枅鈺
鈺氣枅鈻堚晽 鈻堚枅鈺斺暆鈻堚枅鈺斺晲鈺愨晲鈻堚枅鈺椻枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺    鈻堚枅鈺戔枅鈻堚晳鈻堚枅鈻堚枅鈺  鈻堚枅鈺    鈻堚枅鈺
 鈺氣枅鈻堚枅鈻堚晹鈺 鈻堚枅鈺   鈻堚枅鈺戔枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺 鈻堚晽 鈻堚枅鈺戔枅鈻堚晳鈻堚枅鈺斺枅鈻堚晽 鈻堚枅鈺    鈻堚枅鈺
  鈺氣枅鈻堚晹鈺  鈻堚枅鈺   鈻堚枅鈺戔枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺戔枅鈻堚枅鈺椻枅鈻堚晳鈻堚枅鈺戔枅鈻堚晳鈺氣枅鈻堚晽鈻堚枅鈺    鈺氣晲鈺
   鈻堚枅鈺   鈺氣枅鈻堚枅鈻堚枅鈻堚晹鈺濃暁鈻堚枅鈻堚枅鈻堚枅鈺斺暆    鈺氣枅鈻堚枅鈺斺枅鈻堚枅鈺斺暆鈻堚枅鈺戔枅鈻堚晳 鈺氣枅鈻堚枅鈻堚晳    鈻堚枅鈺
   鈺氣晲鈺    鈺氣晲鈺愨晲鈺愨晲鈺  鈺氣晲鈺愨晲鈺愨晲鈺      鈺氣晲鈺愨暆鈺氣晲鈺愨暆 鈺氣晲鈺濃暁鈺愨暆  鈺氣晲鈺愨晲鈺    鈺氣晲鈺 
    '''
        print(win)
    elif opc == 2:
        lose = '''
鈻堚枅鈺   鈻堚枅鈺 鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈺   鈻堚枅鈺    鈻堚枅鈺      鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈻堚枅鈺
鈺氣枅鈻堚晽 鈻堚枅鈺斺暆鈻堚枅鈺斺晲鈺愨晲鈻堚枅鈺椻枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺     鈻堚枅鈺斺晲鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈺愨晲鈺濃枅鈻堚晹鈺愨晲鈺愨晲鈺濃枅鈻堚晳
 鈺氣枅鈻堚枅鈻堚晹鈺 鈻堚枅鈺   鈻堚枅鈺戔枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺     鈻堚枅鈺   鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈺  鈻堚枅鈺
  鈺氣枅鈻堚晹鈺  鈻堚枅鈺   鈻堚枅鈺戔枅鈻堚晳   鈻堚枅鈺    鈻堚枅鈺     鈻堚枅鈺   鈻堚枅鈺戔暁鈺愨晲鈺愨晲鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈺  鈺氣晲鈺
   鈻堚枅鈺   鈺氣枅鈻堚枅鈻堚枅鈻堚晹鈺濃暁鈻堚枅鈻堚枅鈻堚枅鈺斺暆    鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈺氣枅鈻堚枅鈻堚枅鈻堚晹鈺濃枅鈻堚枅鈻堚枅鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚晽
   鈺氣晲鈺    鈺氣晲鈺愨晲鈺愨晲鈺  鈺氣晲鈺愨晲鈺愨晲鈺     鈺氣晲鈺愨晲鈺愨晲鈺愨暆 鈺氣晲鈺愨晲鈺愨晲鈺 鈺氣晲鈺愨晲鈺愨晲鈺愨暆鈺氣晲鈺愨晲鈺愨晲鈺愨暆鈺氣晲鈺  
        '''
        print(lose)
    else:
        draw = '''
鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈻堚枅鈻堚枅鈺  鈻堚枅鈻堚枅鈻堚晽 鈻堚枅鈺    鈻堚枅鈺椻枅鈻堚晽
鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺    鈻堚枅鈺戔枅鈻堚晳
鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈻堚晹鈺濃枅鈻堚枅鈻堚枅鈻堚枅鈺戔枅鈻堚晳 鈻堚晽 鈻堚枅鈺戔枅鈻堚晳
鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈻堚枅鈺戔枅鈻堚晳鈻堚枅鈻堚晽鈻堚枅鈺戔暁鈺愨暆
鈻堚枅鈻堚枅鈻堚枅鈺斺暆鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚晳  鈻堚枅鈺戔暁鈻堚枅鈻堚晹鈻堚枅鈻堚晹鈺濃枅鈻堚晽
鈺氣晲鈺愨晲鈺愨晲鈺 鈺氣晲鈺  鈺氣晲鈺濃暁鈺愨暆  鈺氣晲鈺 鈺氣晲鈺愨暆鈺氣晲鈺愨暆 鈺氣晲鈺
        '''
        print(draw)
        

def resultado_impresion(eleccion):
    if eleccion == 1:
        return 'Piedra'
    elif eleccion == 2:
        return 'Papel'
    elif eleccion == 3:
        return 'Tijera'


def opciones_menu(opcion_usuario,random):

    if opcion_usuario == 1 and random == 3:
        resultado(1)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == 1 and random == 2:
        resultado(2)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == 2 and random == 1:
        resultado(1)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == 2 and random == 3:
        resultado(2)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == 3 and random == 1:
        resultado(2)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == 3 and random == 2:
        resultado(1)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    elif opcion_usuario == random:   
        resultado(3)
        print('Escogiste '+resultado_impresion(opcion_usuario)+' la maquina escogio '+resultado_impresion(random))
    else:
        print('Ingresa una opci贸n correcta por favor')


def run():
    numerorandom = random.randint(1, 3)
    menu = '''
鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈻堚晽 鈻堚枅鈻堚枅鈻堚枅鈺  鈻堚枅鈻堚枅鈻堚晽    
鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈺愨晲鈺濃枅鈻堚晹鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈻堚枅鈺   
鈻堚枅鈻堚枅鈻堚枅鈺斺暆鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈺  鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈻堚晹鈺濃枅鈻堚枅鈻堚枅鈻堚枅鈺   
鈻堚枅鈺斺晲鈺愨晲鈺 鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈺  鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈻堚枅鈺   
鈻堚枅鈺     鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈻堚晹鈺濃枅鈻堚晳  鈻堚枅鈺戔枅鈻堚晳  鈻堚枅鈺戔杽鈻堚晽
鈺氣晲鈺     鈺氣晲鈺濃暁鈺愨晲鈺愨晲鈺愨晲鈺濃暁鈺愨晲鈺愨晲鈺愨暆 鈺氣晲鈺  鈺氣晲鈺濃暁鈺愨暆  鈺氣晲鈺濃暁鈺愨暆
鈻堚枅鈻堚枅鈻堚枅鈺  鈻堚枅鈻堚枅鈻堚晽 鈻堚枅鈻堚枅鈻堚枅鈺 鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈻堚枅鈺        
鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨晲鈺愨暆鈻堚枅鈺        
鈻堚枅鈻堚枅鈻堚枅鈺斺暆鈻堚枅鈻堚枅鈻堚枅鈻堚晳鈻堚枅鈻堚枅鈻堚枅鈺斺暆鈻堚枅鈻堚枅鈻堚晽  鈻堚枅鈺        
鈻堚枅鈺斺晲鈺愨晲鈺 鈻堚枅鈺斺晲鈺愨枅鈻堚晳鈻堚枅鈺斺晲鈺愨晲鈺 鈻堚枅鈺斺晲鈺愨暆  鈻堚枅鈺        
鈻堚枅鈺     鈻堚枅鈺  鈻堚枅鈺戔枅鈻堚晳     鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈻堚枅鈻堚枅鈻堚枅鈻堚晽鈻勨枅鈺
鈺氣晲鈺     鈺氣晲鈺  鈺氣晲鈺濃暁鈺愨暆     鈺氣晲鈺愨晲鈺愨晲鈺愨暆鈺氣晲鈺愨晲鈺愨晲鈺愨暆鈺氣晲鈺
鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚晽     鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚枅鈻堚枅鈻堚晽  鈻堚枅鈻堚枅鈻堚晽 
鈺氣晲鈺愨枅鈻堚晹鈺愨晲鈺濃枅鈻堚晳     鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈺愨晲鈺濃枅鈻堚晹鈺愨晲鈻堚枅鈺椻枅鈻堚晹鈺愨晲鈻堚枅鈺
   鈻堚枅鈺   鈻堚枅鈺     鈻堚枅鈺戔枅鈻堚枅鈻堚枅鈺  鈻堚枅鈻堚枅鈻堚枅鈺斺暆鈻堚枅鈻堚枅鈻堚枅鈻堚晳
   鈻堚枅鈺   鈻堚枅鈺戔枅鈻   鈻堚枅鈺戔枅鈻堚晹鈺愨晲鈺  鈻堚枅鈺斺晲鈺愨枅鈻堚晽鈻堚枅鈺斺晲鈺愨枅鈻堚晳
   鈻堚枅鈺   鈻堚枅鈺戔暁鈻堚枅鈻堚枅鈻堚晹鈺濃枅鈻堚枅鈻堚枅鈻堚枅鈺椻枅鈻堚晳  鈻堚枅鈺戔枅鈻堚晳  鈻堚枅鈺
   鈺氣晲鈺   鈺氣晲鈺 鈺氣晲鈺愨晲鈺愨暆 鈺氣晲鈺愨晲鈺愨晲鈺愨暆鈺氣晲鈺  鈺氣晲鈺濃暁鈺愨暆  鈺氣晲鈺
                                            
Bienvenido al juego de Piedra, Papel o Tijera 
1 - Piedra
2 - Papel
3 - Tijera

Elige una opcion: '''
    opcion = input(menu)
    try:
        opcion_usuario = int(opcion)
        opciones_menu(opcion_usuario,numerorandom)

    except ValueError:
        print('Ingresa una opci贸n correcta por favor')


if __name__ == '__main__':
    run()

> 

Les dejo mi c贸digo con algunas mejoras 馃榿


import os
from random import randint
from types import TracebackType


def run():
    os.system("clear")
    print("""BIENVENIDO  A  TU  VIDEOJUEGO  FAVORITO""")
    print("\nPara jugar primero dinos el rango de numeros desde el cual "
    "el sistema debe crear el numero aleatorio")

    ##Inicializando todas las variables
    try_numer = int(input("\n**Ingresa el numero de intentos que quieres "))
    first_intervalo = int(input("\n**Ingresa el numero menor para ingresar "))
    second_intervalo = int(input("\n**Ingresa el numero mayor para ingresar "))
    goal_number = randint(first_intervalo,second_intervalo)
    chance = int(input("Intenta adivinar el numero aleatorio: "))
    try_numer = try_numer - 1

    while goal_number != chance:
        if try_numer <= 0:
            os.system("clear")
            print("Lo sentimos ya no te quedan oportunidades, mejor suerte a la proxima. 馃槥")
            exit()
        if goal_number < chance:
            chance = int(input("\nTe quedan "+str(try_numer)+" intentos \nEl numero es menor, Intenta de nuevo 馃.\n"))
        elif goal_number > chance:
            chance = int(input("\nTe quedan "+str(try_numer)+" intentos \nEl numero es mayor, Intenta de nuevo 馃.\n"))
        try_numer = try_numer - 1
     
    os.system("clear")   
    print("\n\n馃槑馃槑 Felcidades Ganaste el Juego. 馃槑馃槑")



if __name__ == "__main__":
    run()

Les dejo mi c贸digo con un sistema de vidas:

import random

def run():
    numero_elegido = int(input("Elige un n煤mero del 1 al 100: "))
    numero_generado = random.randint(1,100)

    mismos_numeros(numero_elegido , numero_generado)


def mismos_numeros(numero_elegido , numero_generado):
    vidas = 5
    while numero_elegido != numero_generado and vidas >= 1:
        
        vidas -= 1
        if vidas < 1:
                break
        elif numero_elegido < numero_generado:
            print("Busca un n煤mero m谩s grande, te qued谩n " + str(vidas) + " intentos")
        elif numero_elegido > numero_generado:
            print("Busca un n煤mero m谩s peque帽o, te qued谩n " + str(vidas) + " intentos")
        
        numero_elegido = int(input("Elige otro n煤mero: "))

    if vidas >= 1:
        print("隆Ganaste!")
    else:
        print("Lo siento se te acabaron los intentos")


if __name__ == "__main__":
    run()

Hola 馃槂! Les comparto mi juego con algunos cambios:

  1. Agregu茅 una verificaci贸n de que el n煤mero ingresado est茅 entre 1 y 100
  2. Un sistema de vidas. Puse 10, para dar chance de ganar. A veces hacen falta varios intentos. Para poner menos vidas, se puede bajar el rango del n煤mero de la adivinanza.
import random


####


def inputs():

    n = int( input( 'Escribe un n煤mero: ') )

    if n <= 0 or n > 100 :
        print( '\nLo siento, elegiste un n煤mero inv谩lido. Recuerda que debe ser entre 1 y 100 馃槈' )
        n = int( input( 'Escribe un nuevo n煤mero: ') )

    return n 


def main():

    welcome = """
        馃 BIENVENIDO AL JUEGO 馃

        Para ganar este juego debes adinivar el n煤mero deseado.
        Est谩 entre el 1 y el 100.

        鈿狅笍 Pero ciudado, solamente tienes 10 intentos. 

    """
    print( welcome )

    n_rand = random.randint( 1, 100 )
    n_user = inputs()
    lifes = 10
    tries = 1

    while n_user != n_rand and lifes>0:
        lifes -= 1
        if n_user < n_rand:
            print( '鉂 Busca un n煤mero m谩s grande.' )
        else:
            print( '鉂 Busca un n煤mero m谩s peque帽o.' )
        tries += 1
        n_user = int( input( '\nElige otro n煤mero: ' ) )

    if n_user == n_rand: 
        print( '\n\n\t\t\t馃コ 隆隆隆GANASTE!!! 馃コ' )
        print( f'Lo lograste en {tries} intentos' )
    if lifes == 0:
        print( '\n\n\t\t\t Lo siento, se te acabaron los intentos \n\t\t 馃槚 GAME OVER 馃槚' )



if __name__ == '__main__':
    main()

Mi resoluci贸n

Hola, yo haciendo el ejercicio por mi cuenta, lo solucion茅 con recursividad

import random


def evaluar_juego(numero_respuesta, numero):
    if numero < numero_respuesta:
        numero = int(input('Elige un numero mas grande: '))
    elif numero > numero_respuesta:
        numero = int(input('Elige un numero mas peque帽o: '))
    else:
        print('Ganaste!')
        return

    evaluar_juego(numero_respuesta, numero)


def main():
    # obtener un numero random del 1 al 100
    numero_respuesta = random.randint(0, 100)
    numero = int(input('Elige un numero del 1 al 100: '))

    evaluar_juego(numero_respuesta, numero)


if __name__ == '__main__':
    main()

Hice este juego de operaciones matem谩ticas, planeo seguir mejor谩ndolo e incluir la divisi贸n con condicionales para que no salgan opciones de respuesta que tengan decimales y tambi茅n agregar un sistema de niveles

Si alguien tiene una forma de hacerlo mejor, encantado de saberla.

import random as rnd

def problema(n1, n2, op):    
        if op == ' + ':
            return n1 + n2
        elif op == ' - ':
            return n1 - n2
        elif op == ' * ':
            return n1 * n2
        else:
            return n1 / n2  
 
    
def main():

    vidas = 3
    puntos = 0

    while vidas != 0:

        n1 = rnd.randrange(1,10)
        n2 = rnd.randrange(1,10)
        op = rnd.choice([' + ',' - ',' * ',' / '])    
        respuesta =int(input(f'Resnponde: { str(n1) + str(op) + str(n2) }  Es igaul a: ' ))
        
        if respuesta == problema(n1, n2, op): 
            print(f'Respueta correcta ahora tienes {puntos+1} puntos y {vidas} vidas')
            puntos += 1
        else:
            print(f'Respueta incorrecta ahora tienes {puntos} puntos y {vidas-1} vidas')
            vidas -=1
                

    print('---------------GAME OVER---------------')

if __name__=='__main__':
    main() 

Mi juego de piedra papel o tijeras

import random

def run():
    print( """selecciona un numero
    1. Piedra
    2. Papel
    3. Tijeras""")
    valor = int(input("selecciona un numero: "))
    while valor > 3 or valor<1:
        valor = int(input("selecciona un numero: "))


    numero_aleatoreo = random.randint(1,3)
    if valor == numero_aleatoreo:
        print("empate")
    elif valor == 1 and numero_aleatoreo==2:
        print("Perdiste la maquina escogio Papel")
    elif valor == 1 and numero_aleatoreo==3:
        print("Ganaste, la maquina escogio Tijeras")
    elif valor == 2 and numero_aleatoreo==3:
        print("Perdiste la maquina escogio Tijeras")
    elif valor == 2 and numero_aleatoreo==1:
        print("Ganaste, la maquina escogio Piedra")
    elif valor == 3 and numero_aleatoreo==1:
        print("Perdiste la maquina escogio Piedra")
    elif valor == 3 and numero_aleatoreo==2:
        print("Ganaste, la maquina escogio Papel")
        

if __name__ == "__main__":
    run()

Me gustar铆a hacer este aporte, y no es solo para python, es para el resto de lenguajes de programaci贸n, a veces el interprete o compilador se demora en leer un c贸digo, y pues esto resta eficiencia, por lo cual lo que ya suelo hacer es poner un ciclo While dentro de todo el c贸digo principal, donde anteriormente inicialice una variable Per con S de si, as铆 al final me pregunta si lo quiere repetir, donde si pone 鈥楽鈥, se repite el programa. As铆 uno no tiene que volver a abrir el c贸digo si lo quiere repetir, este lo hice con el ejemplo de las monedas:

def conversor(tipo_pesos, valor_dolar):
    pesos =input('驴Cuantos pesos ' + tipo_pesos + ' tienes?:\t')
    pesos = float(pesos)
    dolares = pesos / valor_dolar
    dolares = round(dolares, 2)
    dolares = str(dolares)
    print("Tienes $ "+ dolares+" dolares")
menu = """
Bienvenido al conversor de monedas :)

1 - Pesos Colombianos
2 - Pesos Argentinos
3 - Pesos Mexicanos

Elige una opcion: """
**Per = 'S' **
**while Per == 'S':**
    opcion = int(input(menu))

    if opcion == 1:
        conversor('colombianos', 3875)
    elif opcion == 2:
        conversor('argentinos', 65)
    elif opcion == 3:
       conversor('mexicanos', 24)
    else:
        print("Ingrese un valor correcto")

  **  Per = input("Desea repetir (S/N):\t") **    

Este es mi c贸digo con una ayuda para el jugador:

import random

def run():

    number = random.randint(1, 100)

    while True:
        guess = int(input('Try to guess the number: '))

        if guess == number:
            print('You won!')
            break
        elif guess > number:
            print('Your guess is too high')
        else:
            print('Your guess is too low') 
    

if __name__ == '__main__':
    run()

Asi lo hice yo:

k = int(input("Por favor ingrese un n煤mero: "))

if k > 1:
for i in range(2, int(k/2)+1):
if (k % i) == 0:
print(鈥淚t is not a prime number鈥)
break
else:
print(鈥淚t is a prime number鈥)

else:
print(鈥淚t is not a prime number鈥)

Me sorprendi贸 que en 3 movimientos adivino el n煤mero, y lo m谩s cool es que quedo grabado. Solo p贸nganse a pensar que posibilidad hay que en 3 movimientos adivines un n煤mero aleatorio del 1 al 100 jajaja TIENE PODERES馃懆鈥嶐煉

Este es mi c贸digo:

Yo le agregu茅 un contador de intentos, algo bastante simple 馃榿

Hice este antes de ver la clase asi que no se si se parece.

import random



def guess_number(number):
    user_number = int(input("Write a number from 1 to 100: "))
    counter = 1
    while user_number != number:
        if user_number<number:
            user_number = int(input("The number is higher: "))
        elif user_number>number:
            user_number = int(input("The number is lower: "))
        counter+=1
    print("Congrats, you won in " + str(counter) + " tries")



def run():
    number = random.randint(1 , 100)
    guess_number(number)



if __name__ == '__main__':
    run()

Hola Dejo el mismo juego de adivinar el numero pero
Jugando contra la computadora

'''' Vamos a jugar a adivinar el numero entre 1 y 100 jugaremos
contra la computadora '''

import os 
import random


def main():
    usuario = -1
    computadora = -1
    bajo = 1
    alto = 100
    num_aleatorio = random.randint(1, 100)
    while usuario != num_aleatorio and computadora != num_aleatorio:
        os.system('cls')
        print('       Vamos a jugar adivinar el numero entre 1 al 100 contra la computadora\n')
        computadora = random.randint(bajo, alto)
        if computadora > num_aleatorio:
            print(f'El numero de la computadora es {computadora}')
            print('El numero de la computadora es  Mayor')
            alto = computadora
        elif computadora < num_aleatorio:
            print(f'El numero de la computadora es {computadora}')
            print('El numero de la computadora es  Menor')
            bajo = computadora
        else:
            print('La computadora Gano')
            break
        input('Presione enter para continuar ')
        os.system('cls')
        print('       Vamos a jugar adivinar el numero entre 1 al 100 contra la computadora\n')
        usuario = int(input('Adivina ingrensado un numero: '))
        if usuario > num_aleatorio:
            print('Tu numero es mayor')
            alto = usuario
        elif usuario < num_aleatorio:
            print('Tu numero es Menor')
            bajo = usuario
        else:
            print('Adivinaste el numero')
            break
        input('Presione enter para continuar ')


if __name__ == '__main__':
    main()
   
transporte = ['bici', 'moto', 'coche', 'tren', 'avion', 'andando', 'burro']
trans = random.choice(transporte)
trans_elegido =input('驴En que transporte ire a trabajar? ')
while trans_elegido != trans:
    if trans_elegido != trans:
        trans_elegido =input('No no, sigue probando: ')
else:
    print('!Acertaste, eres un genio, hoy me toca ir en ' + str(trans_elegido))

Aqui dejo mi codigo con validadores y con intentos limitados. Intente hacerlo mas corto pero no supe como. Cualquier sugerencia es bienvenida

import random


def run():
    print ("En este juego tiene 5 oportunidades para adivinar el numero, de otra manera pierdes")
    numero_aleatorio = random.randint(1, 100)
    intentos = 5
    numero_elegido = int(input("Ingrese un numero del 1 al 100: "))
    #Valido que el usuario ingrese un numero en el intervalo correcto
    while numero_elegido < 1 or numero_elegido > 100:
        numero_elegido = int(input("Escoja un numero valido. Ingrese otro numero: "))    
    while (numero_elegido != numero_aleatorio) and (intentos != 0):
        if numero_elegido < numero_aleatorio:
            print("El numero debe ser mas grande")
        else:
            print("El numero debe ser mas pequeno")
        intentos -= 1
        if intentos != 0:
            print("Te quedan " + str(intentos) + " intentos")
            numero_elegido = int(input("Escoja otro numero: "))
        else:
            break                
    if intentos == 0:
        print("Perdiste!!!. El numero correcto era " + str(numero_aleatorio))
    else:    
        print("Ganaste!!!")


if __name__== '__main__':
    run()

Aqu铆 lo hice con m谩ximo de intentos.
Tras intentar durante una hora que funcionara el bucle, al final no supe como hacerlo y busqu茅 en internet, todav铆a me falta mucho. 馃槮

<code> 
import random

def run():
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input("Elije un numero del 1 al 100: "))
    contador = 0
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            print("Busca un numero mas grande ")
        else:
            print("Busca un numero mas peque帽o ")
        contador = contador + 1
        numero_elegido = int(input("Elije otro numero: "))
        if contador == 5:
            print("Maximo de intentos")
            break
    if numero_elegido == numero_aleatorio:
        print("Ganaste")


if __name__ == "__main__":
    run()

Mi codigo, espero lo disfruten =)

from random import randint
numeros_incorrectos = []
def elegir_numero():
    numero_secreto = randint(1,100)
    return numero_secreto
numero_secreto = elegir_numero()

def perder(numero_secreto):
    print("Perdiste!")
    print(f"Se acabaron las vidas, el numero era {numero_secreto}")
    return True
def ganar(numero_secreto):
    print("Adivinaste el numero secreto!")
    print(f"El numero secreto es {numero_secreto}")
    return True

def validar_numero(numero,numero_secreto,vidas):
    juego_terminado = False
    if numero < numero_secreto:
        print("*" * 50)
        print("El numero ingresado es menor al numero secreto")
        print("*" * 50)
        numeros_incorrectos.append(str(numero))
        vidas -= 1
    elif numero > numero_secreto:
        print("*" * 50)
        print("El numero ingresado es mayor al numero secreto")
        print("*" * 50)
        numeros_incorrectos.append(str(numero))
        vidas -= 1

    if vidas == 0:
        juego_terminado = perder(numero_secreto)
    elif numero == numero_secreto:
        juego_terminado = ganar(numero_secreto)
    return vidas,juego_terminado

def numero_imput():
    numero = input("Ingrese un numero: ")
    while numero.isalpha() or not int(numero) in range(1,101):
        print("Parametro incorrecto")
        numero = input("Ingrese un numero: ")
    return int(numero)


menu = f"""{"*"*20}Welcome{"*"*20}
JUEGO ADIVINA EL NUMERO
Debes adivinar el numero del 1 al 100, tienes 6 intentos
{"*"*60}"""


def run():
    print(menu)
    juego_terminado = False
    vidas = 6
    while not juego_terminado:
        print(f"Numeros ingresados: " + ("-".join(numeros_incorrectos)))
        print(f"Vidas: {vidas}")
        numero = numero_imput()
        vidas,juego_terminado= validar_numero(numero,numero_secreto,vidas)
    print("Gracias por jugar")

if __name__ == "__main__":
    run()

Me d铆 cuenta de que se puede acortar en 1 las lineas del c贸digo si integramos el mensaje de 鈥淓lige un n煤mero m谩s grande鈥 o 鈥淓lige un n煤mero m谩s peque帽o鈥, dentro del input en cada vuelta de ciclo:

<code> 
import random


def run():
    numero_aleatorio = random.randint(1, 100)
    numero_elegido = int(input('Elige un numero del 1 al 100: '))
    while numero_elegido != numero_aleatorio:
        if numero_elegido < numero_aleatorio:
            numero_elegido = int(input('Prueba con un n煤mero m谩s grande: '))
        else:
            numero_elegido = int(input('Prueba con un n煤mero m谩s peque帽o: '))
    print('Ganaste!')


if __name__ == '__main__':
    run()

Tengo un aporte que hice, no es mucho pero es trabajo honesto.

import random


def main():
    vidas = 5
    objetivo = random.randint(1, 101)
    print("""|=================|
|Adivina el N煤mero|
|=================|""")
    numElegido = int(input("\nEleg铆 un n煤mero del 1 al 100: "))

    while vidas != 0:
        if numElegido > objetivo:
            vidas -= 1
            numElegido = int(input("Elige un n煤mero m谩s peque帽o: "))

        elif numElegido < objetivo:
            vidas -= 1
            numElegido = int(input("Elige un n煤mero m谩s grande: "))

        else:
            print("Ganaste!")
            break

        if vidas == 0:
            print(f"Perdiste, el n煤mero era: {objetivo}")
            break


if __name__ == "__main__":
    main()

Implement茅 el juego con tres modos de dificultad que var铆a los rangos para adivinar y las oportunidades o vidas. Adem谩s, se asegura de que el usuario ingrese n煤meros entre el rango, de lo contrario vuelve a preguntar.

Ac谩 el c贸digo por si es de utilidad

import random


def juego(dificultad, numero_aleatorio, vidas, num_min, num_max):
    print(f"""
    隆隆Empieza el juego!!
    Tienes {vidas} vidas.
    """)
    while True:
        numero_elegido = int(input(f"Elige un n煤mero entre {num_min} y {num_max}: "))
        if numero_elegido >= num_min and numero_elegido <= num_max:
            while vidas > 1:
                if numero_elegido == numero_aleatorio:
                    return f"隆隆Ganaste!! El n煤mero correcto era {numero_aleatorio}"
                if numero_elegido < numero_aleatorio:
                    print("Elige un n煤mero m谩s grande")
                else:
                    print("Elige un n煤mero m谩s peque帽o")
                vidas -= 1
                numero_elegido = int(input(f"Te restan {vidas} vidas \nElige otro n煤mero: "))
                while numero_elegido < num_min or numero_elegido > num_max:
                    numero_elegido = int(input(f"Por favor ingresa un n煤mero entre {num_min} y {num_max}. \nRecuerda que te quedan {vidas} vidas: "))
            return f"隆隆Perdiste!! El n煤mero correcto era {numero_aleatorio}"
        else:
            numero_elegido = int(input(f"Por favor ingresa un n煤mero entre {num_min} y {num_max}. \nRecuerda que te quedan {vidas} vidas: "))


def run():
    print("""
    Bienvenido al juego de adivinar un n煤mero, estas son las 3 dificultades:

    [1] F谩cil (0-50) 10 vidas
    [2] Medio (0-100) 7 vidas
    [3] Dif铆cil (0-500) 5 vidas 
    """)
    while True:
        dificultad = int(input("Elige la dificultad: "))
        if dificultad == 1:
            num_min = 0
            num_max = 50
            numero_aleatorio = random.randint(num_min,num_max)
            vidas = 10
            print("Modo seleccionado: F谩cil")
            break
        elif dificultad == 2:
            num_min = 0
            num_max = 100
            numero_aleatorio = random.randint(num_min,num_max)
            vidas = 7
            print("Modo seleccionado: Medio")
            break
        elif dificultad == 3:
            num_min = 0
            num_max = 500
            numero_aleatorio = random.randint(num_min,num_max)
            vidas = 5
            print("Modo seleccionado: Dif铆cil")
            break
        else:
            print("Error. Elige una opci贸n v谩lida")
            print("""
            Recuerda que las opciones son:

            [1] F谩cil (0-50) 10 vidas
            [2] Medio (0-100) 7 vidas
            [3] Dif铆cil (0-500) 5 vidas 
            """)
    resultado = juego(dificultad, numero_aleatorio, vidas, num_min, num_max)
    print(resultado)
    

if __name__ == '__main__':
    run()
import random


def run ():
    print ("***JUEGO DE ADIVINANZA***")
    numero = int(input("Ingresa un numero del 1 al 100 :"))
    respuesta = random.randint(0,101)
    vidas=5
    while numero != respuesta and vidas!=0:
        print ("No adivinaste :(")
        vidas -= 1
        print ("Te quedan "+str(vidas)+ " vidas")
        if numero < respuesta:
            numero = int(input("Intenta un numero mas alto: "))
        elif numero > respuesta:
            numero = int(input("Intenta un numero mas bajo: "))
    if vidas == 0 :
        print ("GAME OVER")
    elif numero == respuesta: 
        print ("ADVINASTE!!")
        

if __name__ == "__main__":
    run()

Aqui mi aporte, solamente lo hice un poco m谩s jovial y agregue vidas

import random


def run():
    numero_aleatorio = random.randint(1, 100)
    shots = 5
    numero_elegido = int(input("Choose a number between 1 and 100, only have 5 shots: "))
    while numero_elegido != numero_aleatorio:
        if shots == 0:
            print("Good luck next time!")
            break
        elif numero_elegido < numero_aleatorio:
            shots = shots - 1
            print("Come on! Higher!")
        else:
            shots = shots - 1
            print("Hold your horses! Lower!")
        numero_elegido = int(input("Chooose another one, still have "+ str(shots) +" shots: "))
        if numero_elegido == numero_aleatorio:
            print("隆You won!")


if __name__ == "__main__":
    run()

Mi codigo

Por si les sirve, sin usar ciclo.

import random
intentos=5
LIMITE_LISTA=100

def desea_continuar():
    si=input("Desea continuar intentando: S铆 (Y)  o No (N) ").upper()
    if si == 'Y':
        return True
    elif si == 'N':
        print("""隆Feliz d铆a! 馃槑
        
        """)
        return False
    else:
        print("Ingrese una opci贸n correcta, gracias! ")
        return desea_continuar()

def pedir_numero():
    try:        
        opcion=int(input("""Ingrese un numero: 
        
        """))        
        if opcion>LIMITE_LISTA:
            print("Has elegido una opci贸n que sobrepasa el limite impuesto de "+str(LIMITE_LISTA))
            return pedir_numero()
        else:
            return opcion
    except:
        return pedir_numero()

def verifica(numero,opcion):
    global intentos
    if intentos == 0:
        print("Lo siento, has terminado tus intentos...")
    else:
        intentos -=1
        if numero == opcion:
            print("""
            隆隆FELICITACIONES!!
            has adivinado el numero 鉁
            """)
        else:
            if numero > opcion:
                print("""Has fallado, el valor es mayor a la opci贸n elegida 馃し鈥嶁檪锔
                
                """)   
            else: 
                print("""Has fallado, el valor es menor a la opci贸n elegida 馃う鈥嶁檪锔
                
                """)   

            if desea_continuar():
                opcion=pedir_numero()
                verifica(numero,opcion)


def seleccionar():
    seleccion=random.randint(1,LIMITE_LISTA)
    return seleccion


if __name__ == '__main__':
    print("""
    ADIVINA EL NUMERO DEL 1 AL """+str(LIMITE_LISTA)+""" QUE PENSO LA PC鉁
    durante los intentos """+str(intentos)+""" se te ir谩n dando pistas 
    si es mayor o menos el numero a adivinar
    """)
    input("Presiona cualquier tecla para continuar...")
    print("""
    -----------------------------------------
    INICIEMOS... 馃憖
    -----------------------------------------
    """)        
    numero=seleccionar()
    opcion=pedir_numero()
    verifica(numero,opcion)