Gibt es in Phyton eine Funktion, die die Anzahl Durchläufe, welche eine While-Schleife macht zählt? Ich will ein Programm schreiben, dass mit die grösste Collatz-folge von den Zahlen von 1-1000 ausrechnet.
Die Folgen ausrechnen kann ich nur die längste finde ich nicht heraus.
Danke für euere Antworten
While-Schleife Durchläufe zählen?
- sls
- User
- Beiträge: 480
- Registriert: Mittwoch 13. Mai 2015, 23:52
- Wohnort: Country country = new Zealand();
Hi,
du kannst die Collatz-Folgen mit jedem Schleifen-Durchlauf einer Liste hinzufügen, und dir anschließend die Größte Folge ausgeben lassen:
du kannst die Collatz-Folgen mit jedem Schleifen-Durchlauf einer Liste hinzufügen, und dir anschließend die Größte Folge ausgeben lassen:
Code: Alles auswählen
sequence = []
while (statement):
- code logic -
sequence.append(result)
print(max(sequence))
When we say computer, we mean the electronic computer.
@Draike33: es gibt zwei Möglichkeiten, entweder zählt man händisch und nimmt eine while-Schleife oder man läßt die for-Schleife zählen und beendet sie mit einem `if ...: break`:
oder
Code: Alles auswählen
length = 0
while n > 1:
n = ...
length += 1
Code: Alles auswählen
for length in itertools.count():
if n <= 1:
break
n = ...
Hallo Draike33,
hattest Du so etwas gemeint:
??
Gruß Ruedi
hattest Du so etwas gemeint:
Code: Alles auswählen
def collatz(z):
if z%2==0:
return z//2
else:
return 3*z+1
zahlen=[]
for zahl in range(2,1025):
zaehler=0
z=zahl
while zahl!=1:
zahl = collatz(zahl)
zaehler += 1
liste=(zaehler,z)
zahlen.append(liste)
print(max(zahlen))
Gruß Ruedi