topas100
Goto Top

Umwandlung von Python 2 in Python3.10

Ich möchte mich in Python 3.10 einarbeiten. Ich bin Anfänger
Ich habe ein paar alte Python 2 Dateien. z.B.:

print("Zahl nach Rest: 0 = Primzahl.");  
print("Ist Zahl unter letztem Wert ungleich 1, dann ebenfals als Faktor verwenden.");  
print("Mehrfach auftretende Primzahlen werden nur 1 x zerlegt.");  
print("In der Eingabenauforderung CMD nur kompletten Dateinamen eingeben")  
print("um zu starten. Ist letzte Zahl vor Ende ungleich 1, diese noch zerlegen.")  
Eingabe = input("Ihre Eingabe: ")  
i = 0
while i < Eingabe:
        i =i + 1
        E1 = Eingabe % i
        if E1 == 0:
                print "Rest:", E1; print(i);  
                A1 = Eingabe // i;
                print(A1);
                Eingabe = A1;
                print ("Wert:");  
                print (Eingabe); print(i);
Probe = input("Probe: ");  
Ergebnis = Probe * 1;
print(Ergebnis);
Probe1 = input("Probe wiederholen: ");  
Probe2 = Ergebnis * Probe1;
print(Probe2);
Probe3 = Eingabe / Probe1;
print(Probe3);
Eingabe = input("Ende");  
Eingabe = 1;
eof;

Wer kann mir das in Python 3.10 umwandeln, Fehler beseitigen, Algorithmus verbessern und kommentieren.
Vielen Dank.
Mit freundlichen Grüßen

Content-ID: 4418428236

Url: https://administrator.de/contentid/4418428236

Ausgedruckt am: 21.11.2024 um 19:11 Uhr

SlainteMhath
SlainteMhath 27.10.2022 um 12:03:07 Uhr
Goto Top
Moin,

Anmerkung vorab:
Python Code ohne < code > Tags - und damit ohne Einrückungen - ist ziemlich sinnloss

Zum Thema:
Meinst du nicht, das du am meisten lernst, wenn du die Migration zu 3.10 selbst versuchst? Doku z.b. hier: https://docs.python.org/3/howto/pyporting.html

lg,
Slainte
maretz
maretz 27.10.2022 um 12:24:08 Uhr
Goto Top
und bei solch relativ simplen Programmen wäre es doch ggf. sogar sinnvoll die einfach dann eben neu in P3 zu machen?!? Wenn du verstanden hast was du in P2 gemacht hast ist das kein Problem. Wenn nicht ist es eine gute Gelegenheit zu lernen... oder ist das ggf. einfach nur irgendwo aus Google gesucht und du möchtest das hier jemand deine Hausaufgaben macht?
Topas100
Topas100 28.10.2022 um 13:14:35 Uhr
Goto Top
Hallo Zusammen, danke für die Kommentare. Der Link hilft mir hoffentlich schon weiter.
Das Programm habe ich selber geschrieben. Es funktioniert zwar aber nutzerfreundlich sieht anders aus.
Mit Hausaufgabe hat das Ganze auch nichts zu tun. Ich bin Frührentner. Ist also interessehalber.
Vielen Dank.
Mit freundlichen Grüßen
Topas100
Topas100 06.11.2022 um 11:25:52 Uhr
Goto Top
Hallo,
was den Fehler bei dem Python-Programm angeht:
Er zerlegt in Primzahlen nur 1 mal: Beispiel 8 wird zerlegt in 2*4,
11*11*3*3 wird zerlegt in 3 x 11 x 33.
Ich habe keine Rücksprungmarke gefunden und selbst wenn;
ob das funktioniert?
Vielleicht kann jemand helfen.
Danke.
MfG
maretz
maretz 06.11.2022 um 15:28:14 Uhr
Goto Top
K.a. was dein Programm so macht. Aber dir ist schon der Begriff "Primzahl" bekannt? Nur durch 1 u. sich selbst teilbar?
D.h. weder die 8 wäre überhaupt ne Primzahl NOCH wäre dein Ergebnis 2x4 ne Primzahl da eben auch 4 keine ist...

Du müsstest also 8 in 5 u. 3 zerlegen damit es aus 2 Primzahlen besteht...
Topas100
Topas100 07.11.2022 um 11:07:52 Uhr
Goto Top
Hallo maretz,
die Ergebnisse des Programms müssten also nochmals durch das Programm gejagt werden. Dann stimmen die
Ergebnisse schon irgend wann mal. Es geht ja um Primfaktorzerlegung, also nicht um Addition.
Gruß
gulshan212
gulshan212 05.10.2023 um 18:16:20 Uhr
Goto Top
Can you try below code.

# Introduction
print("This program factors a number into its prime factors.")  

# Get user input
user_input = int(input("Enter a number: "))  

# Initialize variables
i = 2
factors = []

# Factor the number
while i <= user_input:
    if user_input % i == 0:
        factors.append(i)
        user_input //= i  # Integer division to update the number
    else:
        i += 1

# Print the prime factors
if len(factors) == 0:
    print("The number is prime.")  
else:
    print("Prime factors:")  
    for factor in factors:
        print(factor)

# End of the program
print("Program finished.")  

Thanks
Topas100
Topas100 06.10.2023 um 10:26:06 Uhr
Goto Top
Thanks!