terminal.py

639 B · python · 23 lines

1import sys23def pick_number(number):4    if not number.isdigit() or int(number) < 1 or int(number) % 2 == 0:5        sys.exit(f"'{number}' must be odd and positive")6    return int(number)78def pick_level(level):9    if not level.isdigit() or int(level) < 1:10        sys.exit(f"'{level}' must be an integer >= 1")11    return int(level)1213def menu(usage, commands, notes, footer):14    width = max(len(name) for name in commands)15    print(usage)16    print()17    for name, (_, blurb) in commands.items():18        print(f"  {name:<{width}}  {blurb}")19    print()20    for note in notes:21        print(f"  {note}")22    print()23    print(footer)