Gibt es eine bessere Möglichkeit, eine Benutzereingabe einer Liste möglicher Antworten zuzuordnen, als diese Funktion, dPython

Python-Programme
Anonymous
 Gibt es eine bessere Möglichkeit, eine Benutzereingabe einer Liste möglicher Antworten zuzuordnen, als diese Funktion, d

Post by Anonymous »

Ich habe diese Funktion, die ich mir als Python-Neuling ausgedacht habe und die eine „inputMap“ benötigt, ein zweidimensionales Array wie folgt:

Code: Select all

exampleInputMap = [
['1', 'a', -1],  # do the first action
['2', 'b'],  # do the second action
['3', 'h'],  # print help
['4', 'q']  # quit the program
]

def mapInputToAction(inputMap, matchFirstCharOnly=True, prompt='> '):
while True:
response = input(prompt)
if len(response) == 0:
for index, row in enumerate(inputMap):
if -1 in row:
return index
else:
for index, row in enumerate(inputMap):
if matchFirstCharOnly:
if response[0] in row:
return index
else:
if response in row:
return index
Dies wird in einer While-Schleife verwendet und in eine Match/Case-Anweisung eingespeist. Es erhält jedes Mal eine Eingabe vom Benutzer und gibt dann eine Ganzzahl zurück, die dem Match/Case mitteilt, welche Aktion jedes Mal ausgeführt werden soll. Ist dies ein guter Weg, dies zu erreichen, oder gibt es einen besseren Weg, dies zu tun (vielleicht mit Wörterbüchern)? Ich versuche, durch Üben gute Programmiergewohnheiten zu entwickeln, aber ich möchte keine schlechten Techniken üben.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post