No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Flujo de trabajo en Python

6/20
Recursos

Aportes 39

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Adjunto mi piedra, papel o tijeras que hice para los que no lo tengan, con manejo de errores incluido (aunque solo sea 1 posible):

"""Rock, paper, scissors!


Rock, paper, scissors made on Python.
"""

import random


def computer_choice():
    """Gets a random option for the computer to use."""

    computer= random.choice(options)
    return computer


def user_choice():
    """Gets the option the player will use."""

    user= str(input("Select what you want to play this round: Rock, paper, scissors.\n"))
    user= user.lower()
    if user in options:
        return user
    else:
        raise Exception("Your choice is not valid. Check for typos and try again.")


def run_game():
    """Starts and handles the game from start to finish."""

    rounds= 3
    user_win= 0
    computer_win= 0

    print("*" * 15)
    print("The game will start now.")
    print("*" * 15)
    
    while True:

        computer= computer_choice()
        user= user_choice()
        print(f"{user} vs {computer}, ")
            

        if user == computer:

            rounds -= 1
            print(f"""

            Tie!
            You have both picked {user}
            {rounds} remaining.

            """)


        if (user == "scissors" and computer == "paper") or (user == "rock" and computer == "scissors") or (user == "paper" and computer == "rock"):
        
            rounds -= 1
            user_win += True

            print(f"""
            
            You have won this round!
            {user} beats {computer}!
            {rounds} remaining.

            """)


        if (computer == "scissors" and user == "paper") or (computer == "rock" and user == "scissors") or (computer == "paper" and user == "rock"):
    
            rounds -= 1
            computer_win += True
            
            print(f"""
            
            You have lost this round.
            {computer} beats {user}!
            {rounds} remaining.

            """)

        
        if rounds <= 0:
            if user_win == computer_win:
                print("It's a tie, you ended the game with the same amount of points.")
                break
            if computer_win > user_win:
                print(f"Match ended. The winner is the computer with {computer_win} points.")
                break
            if computer_win < user_win:
                print(f"Match ended. You are the winner with {user_win} points!")
                break


if __name__ == "__main__":
    # Global choice options.
    options= ("rock", "paper", "scissors")
    run_game()

Este curso pone a prueba tu paciencia

Hola Chicos! 😄
Despues de copiar el codigo vamos ir a la terminal para correr el juego

- cd game/

- python3 main.py

vamos a guardar el proyecto en gitgub

  • cd… ir a la carpeta padre

  • pwd verificar en donde nos encontramos

  • git add .

  • git commit -m “save game”

  • git push origin master

Archivo README

# Game Project

Para correr el juego debes seguir las siguientes instrucciones en la terminal:

```sh
cd game
python3 main.py
  • git add .

  • git commit -m “Work in readme”

  • git push origin master

Actualizar y verificar

📌 Cambie un poco la interfaz del juego.



Aquí dejo el archivo

creo que no es el archivo correcto el “mainpy”, el que esta en el apartado de recursos.

_Flujo de trabajo en python _

_Clonar el repositorio: _

_para poder trabajar en el proyecto localmente, es necesario clonar el repositorio desde GitHub a la máquina local.
_

_Hacer cambios en el código: _

  • una vez que se tiene el repositorio clonado en la máquina local, se pueden hacer cambios y agregar nuevas funcionalidades al código utilizando cualquier editor de texto o entorno de desarrollo integrado (IDE) que prefiera.

_Realizar commit y push: _

**_

  • cuando se termina de trabajar en una funcionalidad o conjunto de cambios, se pueden guardar los cambios en la historia del proyecto haciendo un commit. Luego, se pueden enviar los cambios al repositorio en línea haciendo un push.
    _**

_Crear un pull request: _

  • si se trabaja en un proyecto colaborativo, es posible que se necesite solicitar la revisión y aprobación de los cambios antes de que se integren al código principal del proyecto. Esto se hace mediante un pull request en GitHub.

Revisar y mergear el pull request:

  • cuando se crea un pull request, se pueden solicitar a otros miembros del equipo que revisen y den su aprobación a los cambios propuestos. Una vez que se ha obtenido la aprobación necesaria, se pueden integrar los cambios al código principal del proyecto haciendo un merge del pull request.

Este es solo un ejemplo de cómo puede ser un flujo de trabajo en Python con GitHub, y puede variar según las necesidades y preferencias del equipo de desarrollo.

No entendí muy bien el objetivo de la clase. ¿cual es el flujo de trabajo?

Muy bueno que se vaya añadiendo complementos según avance del programa de acuerdo al curso como en el caso del juego piedra, papel tijera

El flujo de trabajo es:

  1. creas un archivo.
  2. lo pruebas
  3. lo agregas a git
  4. git add .
  5. git commit -m
  6. git pull origin main
  7. git push origin main

no vi el juego en recursos…para copiar y pegar

Para los que les interese personalizar su Powershell les dejo este interesante post

Personalizar Powershell

Game Project

Game Project is a Python code to play rock-paper-scissors

Usage

$cd game
$python main.py

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Para encontrar el codigo del juego vayan a esta clase

Les dejo aquí una versión simple del piedra papel o tijeras, cuando salta error reinicia el programa `import random` `def game_logic():` ` user_option = input('''Elije entre:` ` 1) Piedra` ` 2) Papel` ` 3) Tijeras` ` (Introduce el número de tu elección)` ` ''' )` ` computer_option = random.choice(["Piedra", "Papel", "Tijeras"])` ` if user_option == "1":` ` user_option = "Piedra"` ` if computer_option == "Tijeras":` ` print("El usuario eligió" , user_option)` ` print("La computadora eligió" , computer_option)` ` print("Felicidades, usted ha ganado!")` ` elif computer_option == "Papel":` ` print("El usuario eligió" , user_option)` ` print("La computadora eligió" , computer_option)` ` print("La computadora ha ganado!")` ` else:` ` print("Es un empate!")` ` elif user_option == "2":` ` user_option = "Papel"` ` if computer_option == "Piedra":` ` print("El usuario eligió" , user_option)` ` print("La computadora eligió" , computer_option)` ` print("Felicidades, usted ha ganado!")` ` elif computer_option == "Tijeras":` ` print("El usuario eligió" , user_option)` ` print("La computadora eligió" , computer_option)` ` print( "La computadora ha ganado!")` ` else:` ` print("Es un empate!")` ` elif user_option == "3":` ` user_option = "Tijeras"` ` if computer_option == "Papel":` ` print("El usuario eligió" , user_option)` ` print("La computadora eligió" , computer_option)` ` print("Felicidades, usted ha ganado!")` ` elif computer_option == "Piedra":` ` print("El usuario eligió" , user_option)` ` print( "La computadora eligió" , computer_option)` ` print("La computadora ha ganado!")` ` else:` ` print("Es un empate!")` ` else:` ` print("Esa no es una jugada válida!")` ` print('''` ` Reiniciando el programa...` ` ` ` ` ` ''')` ` game_logic()` `if __name__ == "__main__":` ` game_logic()`

Si git les pide a cada push su contraseña https://www.freecodecamp.org/espanol/news/como-evitar-que-git-siempre-solicite-las-credenciales-de-usuario/

me funcionó de una la instrución
git config --global credential.helper store

quizá no sea lo más seguro, pero aun no prgramo para El Pentàgono ni para el FBI

Excelente poder agregar intrucciones en el README

No es necesario entrar en la carpeta del prouyecto. Podemos marcar la ruta para llegar hasta el archivo main desde donde estemos. Por ejemplo:

python3 game/main.py

Yo hice un tutorial de este juego, les dejo el link del vídeo para que lo vean:
Crea el juego ‘PIEDRA PAPEL TIJERA’ en Python 🐍💻🧱🧻✂️

Aqui les dejo Piedra, Papel, Tijera, Lagarto, Spock `import random` `options = ('piedra', 'papel', 'tijera', 'lagarto', 'spock')computer_wins = 0user_wins = 0rounds = 1` `while (user_wins or computer_wins) < 3:        print('🔥' * 10)    print('       ROUND ', rounds)    print('🔥' * 10,'\n')        user_option = input('Elige una opción: \n\npiedra, papel, tijera, lagarto, spock => ').lower()        if user_option not in options:        print('Escogiste una opción incorrecta\nIntenta de nuevo')        continue    else:        computer_option = random.choice(options)` `        print('Usuario eligió =>', user_option)        print('Computadora eligió =>', computer_option)` `        if user_option == computer_option:            print('Empate')        elif user_option == 'tijera' and computer_option == 'papel':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'papel' and computer_option == 'piedra':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'piedra' and computer_option == 'lagarto':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'lagarto' and computer_option == 'spock':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'spock' and computer_option == 'tijera':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'tijera' and computer_option == 'lagarto':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'lagarto' and computer_option == 'papel':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'papel' and computer_option == 'spock':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'spock' and computer_option == 'piedra':            print('¡Ganaste!')            user_wins += 1        elif user_option == 'piedra' and computer_option == 'tijera':            print('¡Ganaste!')            user_wins += 1        else:            print('Perdiste')            computer_wins += 1                rounds += 1        print('user => ', user_wins,'\n')    print('computer => ', computer_wins,'\n')        if user_wins > 2:        print('Tu ganaste!')        break    if computer_wins > 2:        print('Tu perdiste!')        break`
Hola les comparto mi código del juego: ![](https://static.platzi.com/media/user_upload/Screenshot%202025-01-28%20130539-b201efc7-2598-4867-814e-25f7cfb0e8b5.jpg) ![](https://static.platzi.com/media/user_upload/Screenshot%202025-01-28%20130552-50ecd603-c1f9-49c0-9615-835af5238944.jpg) El código en mi git: <https://github.com/nOm-1986/PythonAvanzado/blob/main/games/RockPaperScisor.py>
Les dejo el código de mi juego, tiene un menú interactivo para que no tengan que escribir qué opción desean jugar: ```python import random as rd import inquirer game_options = ('piedra', 'papel', 'tijera'); user_option = str computer_option = str def menu_options(): questions = [ inquirer.List('column', message="¿Qué opción quieres jugar?", choices=[ 'piedra', 'papel', 'tijera', ], ), ] options = inquirer.prompt(questions) choice = options["column"] return choice def user_choice(): print('Este es el juego de piedra, papel o tijera.'); user_selects = menu_options() computer_selects = rd.choice(game_options) if user_selects in game_options: print(f'Has escogido {user_selects}') print(f'La computadora ha escogido {computer_selects}') else: print('Esa opción no es valida, escoge de nuevo (tienes 2 oportunidades más).') i = 0 while i < 2: i += 1 user_selects = menu_options() if user_option in game_options: break else: user_selects = '' return user_selects, computer_selects # user_option = user_choice() def Juego(): rondas = 0 user_victories = 0 computer_victories = 0 while True: rondas += 1 print('*' * 12) print(f'Ronda {rondas}') print('*' * 12) user_option, computer_option = user_choice() if user_option == '': print('Gracias por jugar.') break else: if user_option == computer_option: print('Esto es un empate, seleccionaron la misma opcion'); print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') elif user_option == 'piedra': if computer_option == 'tijera': print('Piedra gana a tijera'); print('El o la usuario ha ganado.'); user_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') else: print('Papel gana a piedra'); print('La computadora ha ganado.'); computer_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') elif user_option == 'papel': if computer_option == 'tijera': print('Tijera gana a papel'); print('La computadora ha ganado.'); computer_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') else: print('Papel gana a piedra'); print('El o la usuario ha ganado.'); user_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') elif user_option == 'tijera': if computer_option == 'papel': print('Tijera gana a papel'); print('El o la usuario ha ganado.'); user_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') else: print('Piedra gana a tijera'); print('La computadora ha ganado.'); computer_victories += 1; print('*' * 12) print(f'El marcador es {user_victories} punto(s) a favor del usario y {computer_victories} punto(s) a favor de la compu.') if user_victories == 2: print('Una maravillosa vicotria de la o el usuario.'); break if computer_victories == 2: print('Una maravillosa vicotria de la compu.'); break Juego() ```
adjunto mi piedra papel o tijera que realice en el cursoanterior ♥ <https://github.com/danielcardenasparra/yankenpon.git>
aqui les comparto mi rep en github de PPT: <https://github.com/wadelgad/cursopython>

ME gusto esta clase de presentar un proyecto hecho con python y como este se promociona para llamar la atencion del funcionamiento de este.

Les dejo mi juego: ```js import random opciones = ('piedra', 'papel', 'tijera') user_wins = 0 pc_wins = 0 rounds = 1 while True: print('*' * 10) print('ROUND', rounds) print('*' * 10) user_option = input("Piedra, papel o tijera: ") user_option = user_option.lower() computer_option = random.choice(opciones) print('El usuario eligio: ', user_option) print('La computadora eligio: ',computer_option) if user_option == computer_option: print("Empate!") elif (user_option == 'tijera' and computer_option == 'piedra')\ or (user_option == 'piedra' and computer_option == 'papel')\ or (user_option == 'papel' and computer_option == 'tijera'): print('perdiste!, suerte para la proxima') pc_wins += 1 elif (user_option == 'tijera' and computer_option == 'papel')\ or (user_option == 'piedra' and computer_option == 'tijera')\ or (user_option == 'papel' and computer_option == 'piedra'): print('ganaste!, felicidades!') user_wins +=1 else: print('Escribe una opcion valida por favor.') print('Marcador : ', 'Usuario =>', user_wins, 'PC wins =>', pc_wins) if user_wins == 3: print('GANASTE EL JUEGO') print('Marcador final :',\ 'Usuario: ', user_wins, \ 'PC Wins :', pc_wins) break if pc_wins == 3: print('PERDISTE EL JUEGO') print('Marcador final :',\ 'Usuario: ', user_wins, \ 'PC Wins :', pc_wins) break rounds +=1 ```import random opciones = ('piedra', 'papel', 'tijera') user\_wins = 0pc\_wins =  0 rounds = 1 while True:     print('\*' \* 10)    print('ROUND', rounds)    print('\*' \* 10)     user\_option = input("Piedra, papel o tijera: ")    user\_option = user\_option.lower()    computer\_option = random.choice(opciones)     print('El usuario eligio: ', user\_option)    print('La computadora eligio: ',computer\_option)     if user\_option == computer\_option:        print("Empate!")     elif (user\_option == 'tijera' and computer\_option == 'piedra')\        or (user\_option == 'piedra' and computer\_option == 'papel')\        or (user\_option == 'papel' and computer\_option == 'tijera'):            print('perdiste!, suerte para la proxima')            pc\_wins += 1     elif (user\_option == 'tijera' and computer\_option == 'papel')\        or (user\_option == 'piedra' and computer\_option == 'tijera')\        or (user\_option == 'papel' and computer\_option == 'piedra'):            print('ganaste!, felicidades!')            user\_wins +=1     else:        print('Escribe una opcion valida por favor.')        print('Marcador : ', 'Usuario =>', user\_wins, 'PC wins =>', pc\_wins)     if user\_wins == 3:        print('GANASTE EL JUEGO')        print('Marcador final :',\            'Usuario: ', user\_wins, \                'PC Wins :', pc\_wins)        break    if pc\_wins == 3:        print('PERDISTE EL JUEGO')            print('Marcador final :',\            'Usuario: ', user\_wins, \                'PC Wins :', pc\_wins)        break    rounds +=1
Increible, increible... \[repo en github]\(https://github.com/brunomaldonado/Game "repo en github") ... ![]()![](https://i.postimg.cc/yN7tDQ9V/game.gif)

excelente explicación

pueden también instalar la extensión de GIT en VS Code y con un par de clics pueden hacer su push, aquí si lo que no he encontrado es como hacer un pull desde VS Code, ahí si lo hago desde git bash con el comando git pull origin master

Aquí el resultado:

Código del juego:

import random

def choose_options():
  options = ('piedra', 'papel', 'tijera')
  user_option = input('👊 piedra, 🖐 papel o ✌ tijera => ')
  user_option = user_option.lower()  
  
  if not user_option in options:
    print('Esa opción no es válida')
    #continue 
    #exit() #buen tip de los comentarios
    return None, None
  
  computer_option = random.choice(options) #tambien podemos usar una lista en lugar de una tupla
  return user_option, computer_option
  
  print('    User option =>', user_option)
  print('Computer option =>', computer_option)

def check_rules(user_option, computer_option, user_wins, computers_wins):
  if user_option == computer_option:
    print('*' * 16)
    print('*   EMPATE   *')
    print('*' * 16)
  elif user_option == 'piedra':
    if computer_option == 'tijera':
      print('piedra gana a tijera')
      print('*' * 16)
      print('* USUARIO GANO *')
      print('*' * 16)
      user_wins += 1
    else:
      print('papel le gana a piedra')
      print('*' * 19)
      print('* COMPUTADORA GANO *')
      print('*' * 19)
      computers_wins += 1
  elif user_option == 'papel':
    if computer_option == 'piedra':
      print('papel le gana a piedra')
      print('*' * 16)
      print('* USUARIO GANO *')
      print('*' * 16)
      user_wins += 1
    else:
      print('tijera gana a papel')
      print('*' * 19)
      print('* COMPUTADORA GANO *')
      print('*' * 19)
      computers_wins += 1
  elif user_option == 'tijera':
    if computer_option == 'papel':
      print('tijera gana a papel')
      print('*' * 16)
      print('* USUARIO GANO *')
      print('*' * 16)
      user_wins += 1
    else:
      print('piedra gana a tijera')
      print('*' * 19)
      print('* COMPUTADORA GANO *')
      print('*' * 19)
      computers_wins += 1
  return user_wins, computers_wins

def run_game():
  computers_wins = 0
  user_wins = 0
  rounds = 1
  while True:  
    #print('*' * 10)
    print('ROUND =>', rounds)
    #print('*' * 10)
  
    print('COMPUTADORA: ', computers_wins)
    print('    USUARIO: ', user_wins)
    rounds += 1
  
    user_option, computer_option = choose_options()
    user_wins, computers_wins = check_rules(user_option, computer_option, user_wins, computers_wins)  
    
    if computers_wins == 2:
      print('------------LA COMPUTADORA GANO--------------')
      break
    if user_wins == 2:
      print('-----------------TU GANASTE------------------')
      break

run_game()

FOLLOW ME:

https://github.com/iecgerman/

ESTE TIPO DE TIPS SON LOS QUE SE USAN EN LOS COMENTARIOS DE PLATZI

Genial!! Excelente clase siempre suelo dejar asi el readme

Super desde los cursos pasos quería hacerlo con GG. Pero sentía que faltaba orden. Buen modulo.

6. Flujo de trabajo en Python

Cread readme: instrucciones del código/programa.

git add .

git push

profesor.....recomiendo que cada cosa que se coloque explicar para que es...porque queda uno loco ..gracias

Hola. Para quien quiera saber un poco más del marcado de texto .md les dejo la siguiente página MD editor para que creen sus propios archivos y vean como se visualiza a la par.
Esta llena de ejemplos interesantes como tablas, listas, diagramas, etc.

Por cierto. También pueden visualizar lo que escriben en 2 columnas haciendo clic en el botón de 2 columnas con una lupa en la parte superior derecha

┌──┬──┐
│  │  │
└──┴──🔎

No se olviden cambiar el master por main en los comandos de git push y git pull. Previo a eso tendrian que crear una nueva rama “git branch main” y entrar a esa rama “git checkout main”

cd game
python3 main.py

#Codigo del archivo 11 en replit
import random

def choose_options():
options = (‘piedra’, ‘papel’, ‘tijera’)
user_option = input('piedra, papel o tijera => ')
user_option = user_option.lower()

if not user_option in options:
print(‘esa opcion no es valida’)
# continue
return None, None

computer_option = random.choice(options)

print(‘User option =>’, user_option)
print(‘Computer option =>’, computer_option)
return user_option, computer_option

def check_rules(user_option, computer_option, user_wins, computer_wins):
if user_option == computer_option:
print(‘Empate!’)
elif user_option == ‘piedra’:
if computer_option == ‘tijera’:
print(‘piedra gana a tijera’)
print(‘user gano!’)
user_wins += 1
else:
print(‘Papel gana a piedra’)
print(‘computer gano!’)
computer_wins += 1
elif user_option == ‘papel’:
if computer_option == ‘piedra’:
print(‘papel gana a piedra’)
print(‘user gano’)
user_wins += 1
else:
print(‘tijera gana a papel’)
print(‘computer gano!’)
computer_wins += 1
elif user_option == ‘tijera’:
if computer_option == ‘papel’:
print(‘tijera gana a papel’)
print(‘user gano!’)
user_wins += 1
else:
print(‘piedra gana a tijera’)
print(‘computer gano!’)
computer_wins += 1
return user_wins, computer_wins

def run_game():
computer_wins = 0
user_wins = 0
rounds = 1
while True:
print(’’ * 10)
print(‘ROUND’, rounds)
print(’
’ * 10)

print('computer_wins', computer_wins)
print('user_wins', user_wins)
rounds += 1

user_option, computer_option = choose_options()
user_wins, computer_wins = check_rules(user_option, computer_option, user_wins, computer_wins)

if computer_wins == 2:
  print('El ganador es la computadora')
  break

if user_wins == 2:
  print('El ganador es el usuario')
  break

run_game()

Para todos los que tienen problemas con git, terminal, GitHub, etc. deben ver los cursos anteriores, a mí me resultó bastante bueno el curso, justo y necesario para ir avanzando a través de proyectos que fueron creados con anterioridad. ver cómo vas mezclando cosas que ya viste, le da sentido a todo lo que he venido aprendiendo. agradecido con Nicolas, es excelente docente

Despues de realizar los cambios en nuestro ID.
Cuando vamos a la terminal, podemos hacer los comandos de

git add .
git commit -m "mensaje"

En una sola instrucción, (esto siempre y cuando no se haya creado una carpeta o archivo nuevo), con el comando

git commit -am "mensaje"