Python :: Aufgabe #249 :: Lösung #3

4 Lösungen Lösungen öffentlich
#249

Die Collatz-Sequenz (3n+1)

Anfänger - Python von DragStar - 23.03.2020 um 09:34 Uhr
Schreibe ein Programm, welches die Eingabe einer Zahl anfordert und dann von dieser Zahl die Collatz-Sequenz ausgibt.

#3
vote_ok
von Asthos (410 Punkte) - 04.04.2020 um 00:16 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Aufgabe:
# Schreibe ein Programm, welches die Eingabe einer Zahl anfordert und dann von dieser Zahl die Collatz-Sequenz ausgibt.

while True:
    try:
        zahl = int(input('Geben Sie eine natürliche Zahl ein: '))
    except ValueError:
        continue
    if  zahl < 1:
        None
    else:
        break

reihe = []
reihe.append(zahl)

while True:
    if zahl % 2 == 0:
        zahl = round(zahl / 2)
    else:
        zahl = 3 * zahl + 1
    reihe.append(zahl)
    if zahl == 1:
        break
print(reihe)


Ergebnis bei Startwert von 25:
[25, 76, 38, 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben