Você está usando or
incorretamente. A maneira correta de fazer isso no seu exemplo seria:
if argv[1] == "-h" or argv[1] == "--help":
Ou é um operador booleano que descreve o que fazer com duas comparações diferentes. Então, o que você forneceu seria como dizer
keep_going = False
if argv[1] == "-h":
keep_going = True
if "--help":
keep_going = True
O que não faz sentido. Tecnicamente, ter apenas or "--help"
é True
porque "--help"
é uma sequência não vazia.
Além disso, graças ao Timo , você pode usar
if argv[1] in ("-h", "--help"):
Qual é considerado mais o modo Python
Por fim, você deve analisar assuntos como argparse para que o Python manipule adequadamente os argumentos nem sempre pode estar na mesma ordem.
No futuro, as perguntas estritamente relacionadas ao código são mais adequadas para o estouro de pilha , que provavelmente é mais adequado para perguntas de programação.