[DÚVIDA] Como identificar gambiarras no código?
Olá! 👋Estou criando meu primeiro "projeto" em Python, como já mencionei antes estou inciando pela 5 vez na programação, mas agora é para valer. Para treinar meus conhecimentos adquiridos depois de consumir aulas sobre o tema achei que seria uma boa fazer um projeto simples para praticar, nesse caso escolhi um Pedra, papel e tesoura. Caso alguém se interesse da uma olhada no meu repositório.
Porém, eu gosto de implementar mais features ao script para me desafiar ainda mais e decidi que seria uma boa colocar uma parte com as regras do jogo(vai que alguém não sabe), e nisso pensei em criar um looping que enquanto o usuário não falar que entendeu as regras ele não para de perguntar, mas acontece que eu quero isso de dois modos.
Não vou explicar por agora esses dois modos que iriei fazer, mas sim gostaria de perguntar sobre como que você identifica que está fazendo gambiarras? Tipo, qual a diferença de uma gambiarra e uma lógica alternativa? Consegui fazer esses dois modos, funciona perfeitamente, mas não sei funcionou porque fiz uma gambiarra ou porque utilizei uma boa lógica. Caso alguém queira ler a ideia base do meu projeto código está aqui uma versão de teste que fiz em outro arquivo para ver como ficaria a implementação dessa feature usando Clube da Luta como exemplo😂
import time
rules = { # dictionary way
# key : value
"Rule 1": "You can't talk about Fight Club",
"Rule 2": "You can't talk about Fight Club",
"Rule 3": "You can't talk about Fight Club",
"Rule 4": "Only one fight at a time",
"Rule 5": "Only two people fight at a time",
"Rule 6": "No shoes or shirts",
"Rule 7": "Fights continue until necessary",
"Rule 8": "First-time attendees must fight"
}
rule = rules.values()
ask = str(input("$ Do you want to know the rules?(y/n) "))
ask1 = -1
while ask != 0:
if ask != "y" and ask != "n":
ask = str(input("$ Do you want to know the rules?(y/n) "))
if ask == "y" or ask1 == "n":
for value in rules.values():
print(f"* {value}")
time.sleep(1)
ask1 = str(input("$ Did you understand the rules?(y/n) "))
while ask1 != "n" and ask1 != "y":
ask1 = str(input("$ Did you understand the rules?(y/n) "))
if ask == "n" or ask1 == "y":
print("# Welcome to Fight Club")
ask = 0