14 lines
359 B
Python
14 lines
359 B
Python
def choose_from_list(items, label_fn):
|
|
for i, item in enumerate(items, start=1):
|
|
print(f"{i}. {label_fn(item)}")
|
|
print("0. Back")
|
|
|
|
choice = input("> ").strip()
|
|
if choice == "0":
|
|
return None
|
|
|
|
try:
|
|
return items[int(choice) - 1]
|
|
except (ValueError, IndexError):
|
|
print("Invalid choice")
|
|
return None
|