Seite 1 von 1
Python Schleifen und dictionaries
Verfasst: Samstag 3. November 2018, 20:35
von Compunerd
Ich möchte eine Liste aus einem Dictonary machen unter der Bedingung das nur die Keys übernommen werden deren Wert größer gleich 20 ist.
d={'jos':22,''Netty':23,'Hans':19}usw.
n=[]
if d[ 'jos']>19:
n.append('jos')
usw.
das wäre aber sehr viel schreibarbeit weil ich jeden einzelnen key mit if teste. Gibt es hier für eine elegantere Lösung?
Re: Python Schleifen und dictionaries
Verfasst: Sonntag 4. November 2018, 09:58
von ThomasL
Ja, schau mal hier:
https://docs.python.org/3.6/tutorial/da ... ctionaries
In dem letzten Absatz vor dem ersten Beispiel wird da eine dict methode genannt, die dir weiterhilft.
Re: Python Schleifen und dictionaries
Verfasst: Donnerstag 29. November 2018, 17:28
von Compunerd
ok danke

Re: Python Schleifen und dictionaries
Verfasst: Donnerstag 29. November 2018, 20:27
von JRS
import random
Liste1 = [31.01, 28.02, 31.03, 30.04, 31.05, 30.06, 31.07, 31.08, 30.09, 31.10, 30.11, 31.12]
Liste2 = [00.01, 00.02, 00.03, 00.04, 00.05, 00.06, 00.07, 00.08, 00.09, 00.10, 00.11, 00.12]
Spieler = 12.01
Kontrolle = "%.2f" % Spieler
Spielstufe_leicht = random.randint(1,31) + random.choice (Liste2)
Kontrolle2 = "%.2f" % Spielstufe_leicht
n=0
for i in Liste1:
while Spielstufe_leicht not in Liste1:
i= ("%.2f" % Liste1 [n])
if i [3:] == Kontrolle2 [3:]:
if Liste1[n] - Spielstufe_leicht >= 0 and Kontrolle2 [3:] == Kontrolle [3:] or Kontrolle2 [0:2] == Kontrolle [0:2] and Spieler - Gegner < 0 :
print(Spielstufe_leicht)
else:
Spielstufe_leicht = random.randint(1,31) + random.choice (Liste2)
n=n+1
Wie schaffe ich es, dass der Wert für Spielstufe_leicht die Schleife immer wieder durchläuft. Bis jetzt gibt er bei einem einmalig falschem Wert nichts mehr aus.
Ich möchte mich schon im Voraus für die Hilfe bedanken.