Höchsten Zahlenwert bei Python finden?
Hey,
ich arbeite gerade an einem Programm (Reiseführer) für die Schule, dass ich dann auch vorstellen muss. Jedoch weiß ich nicht recht, wie ich die Länderpunkte alle Zusammenzähle, dass es am Ende das Land mit den meisten Punkte ausgibt. Ich glaube Jedoch das man das irgendwie mit dem Höchsten Zahlenwert macht
Schaut euch mein Programm gerne einfach mal an. Vielleicht könnt ihr mir ja dabei helfen. :)
2 Antworten
Möglichkeit 1:
Geh nacheinander jedes Land durch, und wenn der Score höher ist als der bisherige Highscore, überschreibe den Highscore und speichere das Land.
best_country = ""
highscore = 0
if d > highscore:
best_country = "Deutschland"
highscore = d
if s > highscore:
best_country = "Spanien"
highscore = s
if i > highscore:
best_country = "Italien"
highscore = i
…
print("Du solltest nach " + best_country + " reisen.")
Dadurch hast du am Schluss die größte Zahl in highscore gespeichert und das zugehörige Land in best_country.
Möglichkeit 2:
Verwende ein Dictionary für die Länder.
countries = {
"Deutschland": 0,
"Spanien": 0,
"Italien": 0,
…
}
…
best_country = max(countries, key=countries.get)
print("Du solltest nach " + best_country + " reisen.")
Diese Methode ist etwas professioneller und auch kürzer. Dafür müsstest du aber deinen bestehenden Code ändern. Den Wert von Deutschland müsstest du dann beispielsweise so erhöhen:
countries["Deutschland"]+=1
Du bist vermutlich Anfänger, daher erspare ich mir mal Kommentare über den Code im Allgemeinen.
Ein einfacher und bequemer Ansatz wäre das Ranking der Länder in einem Dictionary zu organisieren. Dadurch ersparst Du Dir die Einzelvariablen.
Das würde auch den Code lesbarer machen:
countries={'de':0, 'it':0, ...}
countries['de']+=1 #anstatt d+=1
Kannst dem Dictionary auch nen kürzeren Namen geben, wenn Du magst.
Dann kannst Du das Maximum bestimmen::
max(countries,key=countries.get)
Auch ein Ranking wäre ähnlich leicht machbar.
Wobei er dann das "de" auch noch zu "Deutschland" mappen müsste, wenn er es im Text ausgeben will.
"Du solltest nach de reisen" klingt ja etwas blöd, selbst wenn man das „DE“ großschreibt.
Ich würde einfach direkt "Deutschland" als Key nehmen.
Vielen Dank, dass hat mir sehr geholfen :)