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 35

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

MI aplicaci贸n del flujo de trabajo 馃槂

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()

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 鈥渟ave 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 鈥淲ork in readme鈥

  • git push origin master

Actualizar y verificar

Este curso pone a prueba tu paciencia

_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.

馃搶 Cambie un poco la interfaz del juego.



Aqu铆 dejo el archivo

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

creo que no es el archivo correcto el 鈥渕ainpy鈥, el que esta en el apartado de recursos.

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鈥ara 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 鈥楶IEDRA PAPEL TIJERA鈥 en Python 馃悕馃捇馃П馃Щ鉁傦笍

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 鈥済it branch main鈥 y entrar a esa rama 鈥済it checkout main鈥

cd game
python3 main.py

#Codigo del archivo 11 en replit
import random

def choose_options():
options = (鈥榩iedra鈥, 鈥榩apel鈥, 鈥榯ijera鈥)
user_option = input('piedra, papel o tijera => ')
user_option = user_option.lower()

if not user_option in options:
print(鈥榚sa opcion no es valida鈥)
# continue
return None, None

computer_option = random.choice(options)

print(鈥楿ser option =>鈥, user_option)
print(鈥楥omputer 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(鈥楨mpate!鈥)
elif user_option == 鈥榩iedra鈥:
if computer_option == 鈥榯ijera鈥:
print(鈥榩iedra gana a tijera鈥)
print(鈥榰ser gano!鈥)
user_wins += 1
else:
print(鈥楶apel gana a piedra鈥)
print(鈥榗omputer gano!鈥)
computer_wins += 1
elif user_option == 鈥榩apel鈥:
if computer_option == 鈥榩iedra鈥:
print(鈥榩apel gana a piedra鈥)
print(鈥榰ser gano鈥)
user_wins += 1
else:
print(鈥榯ijera gana a papel鈥)
print(鈥榗omputer gano!鈥)
computer_wins += 1
elif user_option == 鈥榯ijera鈥:
if computer_option == 鈥榩apel鈥:
print(鈥榯ijera gana a papel鈥)
print(鈥榰ser gano!鈥)
user_wins += 1
else:
print(鈥榩iedra gana a tijera鈥)
print(鈥榗omputer 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(鈥楻OUND鈥, 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"