Der folgende Code ist ein Beispiel für ein Community-Projekt, das ich durchlebe.Alternative Technik zu Python "Wenn ... elif ... else", um über 1.500 Optionen zu loopen
cat1 = 'Engr, Bricklayer, Attendant'
cat2 = 'Programmer, Artist, Engr, Servant'
cat3 = 'Programmer, Typist'
amount = float(input("Enter amount: "))
choice = input("Select Beneficiary: ")
print("-----------------------------------")
if choice == cat1:
print("Name: Engr\nShare: 1/6 (1 cikin 6)\nBenefits: N" + str((amount/6) * 1))
print("-----------------------------------")
print("Name: Bricklayer\nShare: 1/2 (3 cikin 6)\nBenefits: N" + str((amount/6) * 3))
print("-----------------------------------")
print("Name: Attendant\nShare: 1/3 (2 ciin 6)\nBenefits: N" + str((amount/6) * 2))
print("-----------------------------------")
print("Jimilla: N" + str(sum([(amount/6) * 1, (amount/6) * 3, (amount/6) * 2])))
elif choice == cat2:
print("Name: Programmer\nShare: 1/8 (3 cikin 24)\nBenefits: N" + str((amount/24) * 3))
print("-----------------------------------")
print("Name: Artist\nShare: 1/6 (4 cikin 24)\nBenefits: N" + str((amount/24) * 4))
print("-----------------------------------")
print("Name: Engr\nShare: 1/6 (4 cikin 24)\nBenefits: N" + str((amount/24) * 4))
print("-----------------------------------")
print("Name: Servant\nShare: Ragowa (13 cikin 24)\nBenefits: N" + str((amount/24) * 13))
print("-----------------------------------")
print("Jimilla: N" + str(sum([(amount/24)*3,(amount/24)*4,(amount/24)*4,(amount/24)*13])))
Im Folgenden finden Sie die Ausgabe nach Werten aus dem Benutzer zu empfangen:
Enter amount: 2540000
Select Beneficiary: Engr, Bricklayer, Attendant
-----------------------------------
Name: Engr
Share: 1/6 (1 cikin 6)
Benefits: N423333.3333333333
-----------------------------------
Name: Bricklayer
Share: 1/2 (3 cikin 6)
Benefits: N1270000.0
-----------------------------------
Name: Attendant
Share: 1/3 (2 ciin 6)
Benefits: N846666.6666666666
-----------------------------------
Jimilla: N2540000.0
>>>
Wie Sie sehen können, habe ich die Wenn bin mit ... elif ... else Steueranweisungen durch die Elemente bewegen in den Kategorien, die oben im Code definiert sind. Ich muss etwa 1.500 verschiedene Kategorien mit einer Kombination von verschiedenen Elementen/Begünstigten schaffen, die zu verschiedenen Anteilen berechtigt sind. Gibt es irgendeine Technik, die ich verwenden kann, um die Optionen zu durchlaufen, anstatt If ... elif ... sonst zu verwenden?
Ich bin neu in Python. Die Ausgabe des obigen Codes ist was ich will, aber mit dem If ... elif ... sonst, um die Benutzereingaben gegen die 1500 Kategorien zu überprüfen, wird ein bisschen monoton oder eher, hektisch.
Ich brauche deine Hilfe, bitte.
Wörterbuch ist eine gute Option. Und machen Sie Ihre Druckwerte einzigartig und machen Sie sie zu einer Funktion. –
Könnte http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python hilfreich sein? – fredtantini
Erstellen Sie ein Funktionsverzeichnis, und konstruieren Sie die zu druckenden Zeichenfolgen. –