16-is-dead/clean_input.py

57 lines
1.7 KiB
Python

"""clean_input"""
import sys
import game
# message needs to be a string that is printed for user instruction. options is a list of viable inputs
def io_str(message: str, options: list) -> str:
while True:
try:
i = str(input(message))
except (ValueError, NameError):
print("Eingabe nicht gültig, bitte wiederhole deine Eingabe.")
if i in options:
return i
else:
if i == "q":
print("--------------------------\nSpiel wird beendet...\n--------------------------")
sys.exit()
elif i == "r":
print("--------------------------\nSpiel wird neu gestartet...\n--------------------------")
game.main()
else:
print('Noch nicht ganz richtig. Hast du deine Auswahl auch richtig geschrieben?')
def io_int(message: str) -> int:
while True:
unfiltered_input = input(message)
if unfiltered_input == "q":
print("--------------------------\nSpiel wird beendet...\n--------------------------")
sys.exit()
elif unfiltered_input == "r":
print("--------------------------\nSpiel wird neu gestartet...\n--------------------------")
game.main() # DOCH TUT ES
try:
i = int(unfiltered_input)
if i >= 1:
return i
else:
print('Bitte gib eine ganze Zahl größer als 0 ein. ')
except (ValueError, NameError):
print("Eingabe nicht gültig, bitte wiederhole deine Eingabe.")
#testing
#io_int("Bitte gib eine Zahl ein.")