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?
Python Schleifen und dictionaries
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.
In dem letzten Absatz vor dem ersten Beispiel wird da eine dict methode genannt, die dir weiterhilft.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
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.
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.