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-Key: 4418428236

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

Printed on: April 28, 2024 at 08:04 o'clock

Member: SlainteMhath
SlainteMhath Oct 27, 2022 at 10:03:07 (UTC)
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
Member: maretz
maretz Oct 27, 2022 at 10:24:08 (UTC)
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?
Member: Topas100
Topas100 Oct 28, 2022 at 11:14:35 (UTC)
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
Member: Topas100
Topas100 Nov 06, 2022 at 10:25:52 (UTC)
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
Member: maretz
maretz Nov 06, 2022 at 14:28:14 (UTC)
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...
Member: Topas100
Topas100 Nov 07, 2022 at 10:07:52 (UTC)
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ß
Member: gulshan212
gulshan212 Oct 05, 2023 at 16:16:20 (UTC)
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
Member: Topas100
Topas100 Oct 06, 2023 at 08:26:06 (UTC)
Goto Top
Thanks!