Suche passende While-Loop Bedingung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PyTimmi

Hallo zusammen,

ich möchte gerne eine While-Schleife schreiben, die so lange läuft, solange alle Integer in einer Liste kleiner sind als das Maximum.
In jedem Loop werden die Integer dann erhöht:

[0, 0, 0] wird zu [0, 0, 1] usw. bis man bei [max, max, max] angekommen ist.

Was in der Schleife selbst steht hab ich mir schon überlegt. Aber ich weiß nicht, wie man die Schleifen-Bedingung "most python like" schreibt.
Mir schwebt die ganze Zeit die Funktion all() im Kopf herum, aber ich komme nicht so recht auf die Lösung, da meine Liste keine bool'schen Werte enthält.


Vielen Dank.
Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

`all` wird meist mit einem Generatorausdruck genutzt, wobei hier `any` besser wäre `any(a < maximum for a in liste)` oder noch einfacher `min(liste) < maximum`.
PyTimmi

Sirius3 hat geschrieben: Sonntag 22. Mai 2022, 18:19 `all` wird meist mit einem Generatorausdruck genutzt, wobei hier `any` besser wäre `any(a < maximum for a in liste)` oder noch einfacher `min(liste) < maximum`.
Vielen Dank für diese Antwort.

Code: Alles auswählen

any(a < maximum for a  in liste)
ist genau das, was ich gesucht habe. Und dein Vorschlag

Code: Alles auswählen

min(liste) < maximum
ist ja noch viel besser.

Vielen Dank :)
Antworten