2017-01-05 2 views
1

ich gesucht und gesucht gefunden noch nichts für meine AnwendungWie die einzelnen Teile einer Zeichenfolge erhalten, wenn Sie die Anzahl der Teile nicht wissen, es wird

def getInput(): 
    command = input("What would you like to do now? ").split() 
    verb_word = command[0] 

    if verb_word in verbDict: 
     verb = verbDict[verb_word] 
    else:  
     print('Unknown command: "{}"'.format(verb_word)) 
     print("The commands are:")   
     for i in len(verb_dict): 
      print(verbDict[i])  

Ich habe bereits eine Spaltung, aber ich brauche die separaten Teile und dann eine Funktion mit ihnen, die mehrere Parameter hat, aber keiner ist gleich.

+0

Diese Frage ist nicht besonders deutlich. Wie wollen Sie das Ergebnis haben? – Metropolis

+0

@Metropolis Ich versuche, eine Funktion mit den einzelnen Teilen einer Zeichenfolge ie. spam (var1, var2, var3) oder spam2 (var4) –

+0

gibt es ein Problem mit der Formatierung/Einrückungen – RomanPerekhrest

Antwort

0

Ich gehe davon aus, dass Sie Eingaben akzeptieren, die wie

etwas aussehen
command parameter another_parameter 

und Sie wollen etwas, um am Ende wie

verb_dict['command']('parameter', 'another_parameter') 

Sie können Pythons und Auspacken verwenden diese

zu tun
command, *parameters = input("What would you like to do now? ").split() 

Sie haben dann command = 'command' und parameters = ['parameter', 'another_parameter']

Sie können dann die Funktion im Wörterbuch nachschlagen und dann die Liste in die Anruffunktion entpacken

verb_dict['command'](*parameters) 
+1

Das funktioniert nur mit Python 3 (für den 'command, * parameter' Entpackungsteil). Für Python 2 wollen Sie 'command, parameters = command [0], command [1:]' –

+2

@brunodesthuilliers Ich nahm von der Verwendung von 'input', und die' print' -Funktion, dass dies python war 3 –

+1

wir oft sehen Python-Anfänger (mis) verwenden 'input()' (anstelle von 'raw_input()' und fügen parens zu 'print' hinzu, wenn sie python2 benutzen - entweder aus Unwissenheit oder weil sie das in Python 3 Tutorials gesehen haben ;-) –

Verwandte Themen