Ich versuche, einen zufälligen Zeichengenerator für D & D zu machen. Bis jetzt bin ich in der Lage, eine Entscheidung darüber zu treffen, welche Klasse basierend auf dem zu wählen zwei größte Statistiken, aber aus irgendeinem Grund bekomme ich hin und wieder keine Antwort. Mein Code ist soweit in Ordnung, aber ich bin ein Anfänger in Python. Ich würde gerne wissen, warum es Antworten nicht immer zurückgibt und wie man es repariert.Versuch, einen zufälligen Zeichengenerator zu machen, wird aber nicht immer eine Antwort bekommen
data = [str,int,dex,con,wis,cha]
largest = None
second_largest = None
for a in data:
if not largest or a > largest:
if largest:
second_largest = largest
largest = a
if largest == wis and second_largest == cha or largest == cha and second_largest == str or largest == str and second_largest == cha or largest == str and second_largest == int:
print ("PALADIN")
elif largest == str and second_largest == dex or largest == str and second_largest == con or largest == con and second_largest == str:
print ("BARBARIAN")
elif largest == str and second_largest == wis or largest == con and second_largest == wis or largest == wis and second_largest == str or largest == wis and second_largest == con:
print ("CLERIC")
elif largest == int and second_largest == str or largest == int and second_largest == con or largest == con and second_largest == int or largest == wis and second_largest == int:
print ("WIZARD")
elif largest == int and second_largest == dex or largest == dex and second_largest == int or largest == cha and second_largest == wis:
print ("ROGUE")
elif largest == int and second_largest == wis:
print ("DRUID")
elif largest == int and second_largest == cha or largest == con and second_largest == cha or largest == cha and second_largest == int:
print ("SORCERER")
elif largest == dex and second_largest == str:
print ("MONK")
elif largest == dex and second_largest == con or largest == con and second_largest == dex:
print ("FIGHTER")
elif largest == dex and second_largest == wis or largest == wis and second_largest == dex:
print ("RANGER")
elif largest == dex and second_largest == cha:
print ("BARD")
elif largest == cha and second_largest == dex or largest == cha and second_largest == con:
print ("WARLOCK")
Es ist schwer zu sagen. Ihr Code weist mehrere Fehler auf. Können Sie ein bestimmtes Beispiel für eine fehlgeschlagene Eingabe identifizieren? Versuchen Sie, ein Beispiel mit Eingabe, erhaltener Eingabe (falls vorhanden) und erwarteter Ausgabe anzugeben. Geben Sie außerdem ein konkretes Beispiel für Werte für die Liste "Daten" an. – iled
1st: Keine andere Aussage. 2.: um 2 Elemente von 6 zu wählen, gibt es 15 mögliche Ergebnisse. Respektieren der Bestellung macht 30 verschiedene Kombinationen (größte und zweitgrößte nicht gleich) – Quickbeam2k1
Falls jemand sich fragte, ob alle Möglichkeiten abgedeckt waren (sie sind): https://gist.github.com/minitech/97723bb4ae8d19b3b6b320a4995afb91 – Ryan