Unterschied Pi Python und IDLE3

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Forum Team.


    Ich möchte gerne Python lernen, da ich mir vor ca. 1 1/2 Jahren ein Pi zugelegt habe.
    Ich habe bis jetzt immer unter Windows Python (3.4) meine Versuche und Beispiele aus dem Büchern erstellt oder geöffnet und dann auf denn Pi über FileZilla kopiert und ausprobiert.
    Da sich mein Pi jetzt weiter weg (ca. 5km) befindet und ich über UMTS die Steuerungen vornehme verbinde ich mich deshalb auch über SSH mit diesem und probiere meine Versuche also über SSH. Jetzt habe ich ein Code aus einem Lehrbuch zuhause unter Windows 3.4 ausprobiert die Datei zum Pi kopiert und gestartet. Es ist ein kleines Beispielprogramm aus dem Buch und da ich mich mit Copyright Rechten nicht auskenne weiß ich auch nicht ob ich den Code und die beiden unterschiedlichen Ergebnisse hier eintragen darf.
    Es ist nur so das es unter Windows (IDLE3) so wie im Buch auf dem Monitor erscheint aber auf dem Pi aus meiner Sicht trotz des gleichen Codes
    falsche Werte anzeigt.
    Könnt ihr mir erklären was der Denkfehler bei mir ist.

    Gruß aus Dorsten
    Herbert

  • Hallo raspiprojekt

    Das ist der Code in der Datei "zahl_umwandeln.py":

    Hier die Eingabe im Terminal:
    sudo python zahl_umwandeln.py

    Es folgt die Ausgabe:


    Und das ist jeweils aus Windows IDLE 3 und auch in der Oberfläche des PI wenn ich dort IDLE3 aufrufe:

    Code
    x: 1.7142857142857142
    x gerundet auf drei Stellen:  1.714
    x gerundet auf null Stellen:  2
    int(x): 1
    
    
    x: -1.7142857142857142
    x gerundet auf drei Stellen:  -1.714
    x gerundet auf null Stellen:  -2
    int(x): -1

    Verstehen tue ich es nicht.
    Gruß Herbert

    • Offizieller Beitrag

    Weil das eine Python2 und das andere Python3 ist ;)
    wenn du es mit

    Code
    python3 zahl_umwandeln.py


    startest, dann klappt es auch. (das sudo brauchst du nicht) ;)

    Um bei python2 ne Fliesskommazahl zu erhalten, muss min. eine Zahl auch eine sein

    Code
    x = -12/7.0
  • Morgen dbv, rasperryprojet und Forum

    Na,ja dafür das: "Könnt ihr mir das erklären...."

    Dabei hätte ich ich mich selber schon auf der grafischen Oberfläche des Pi selber fragen sollen, warum gibt es IDLE und IDLE3.
    Dort hielt ich mich in IDLE 3 auf. Zudem gibt es in allen Büchern die ich habe Hinweise auch auf Unterschiede zwischen den Code in
    Python 2 und Python 3.
    Das "SUDO" hatte ich mir LEIDER angewöhnt, werde aber auf euren Hinweis achten das es wohl gefährlich sein kann das "SUDO" immer vorzustellen.
    Natürlich habe ich den Code gerade ausgeführt und ihr hattet recht.
    Ich glaube aber es wäre für mich Sinnvoller jetzt einmal zu schauen ob ich die Programme und Versuche zuerst bei mir auf den Rechner probiere und überprüfe und dann zum entfernten Pi übertrage.
    Da muss ich aber er einmal suchen wie ich das dann anstelle. Vorher hatte ich es immer mit FilleZilla gemacht als es im internen Netz war.

    Vielen Dank für eure Hilfe und Geduld

    Gruß Herbert

  • Einer der Hauptunterschiede zwischen Python2 und Python3 ist dass Python2 wie folgt Text ausgibt:

    Code
    print "Hello World"

    Python3 macht dass eher so wie alle Sprachen, indem print eine Funktion ist:

    Code
    print("Hello World")

    Es fällt oft schwer, aber ich versuche immer in Python3 zu bleiben, denn Python2 muss ich ja nicht unbedingt auch noch können.
    Zum Glück sind die meisten Bücher die ich so habe schon auf Python3 umgestellt.

    Thomas

  • Hallo

    Jetzt frag ich mich nach den letzten beiden Antworten wo ich jetzt als Anfänger bleiben soll.
    Ich habe hier 4 Bücher die direkt oder indirekt mit Python handeln. In allen Büchern ist nach einer Aufgabe kurz erklärt
    welcher Unterschied zu Python 2 wäre. Da ich selber aber immer in Python 3 war, ist mir nicht aufgefallen das ich im Terminal des Pi eigentlich Python 2 verwende.
    Auch zu meiner Aufgabe unten ist erklärt welche Unterschiede zu Python 2 beachtet werden müßte wie z.B.
    print ("Hello World")
    Erklärung im Buch:
    Die Klammern bei der Anweisung print entfallen.
    Leider wußte ich nicht das ich im Terminal mit dem Aufruf "python programname.py" ein Aufruf über Python 2 erstelle.
    Ehrlich gesagt, da ich sowieso ein totaler Anfänger mit dem Pi und Python bin werde ich jetzt erst
    einmal die Grundlagen überhaupt lernen.
    Über ein Erklärung oder Rat würde ich mich aber trotzdem freuen.

    Gruß Herbert

  • Hallo Thomas

    Als ich mich gerade hier im Forum angemeldet habe standen diese Zeilen schon in den Fenster.
    Damit meine ich Dein Text stand schon darin. Habe es mal darin gelassen.


    Das Stand in Betreff:
    RE: Unterschied Pi Python und IDLE3

    und das in Deine Nachricht:


    Hallo Herbert,

    welche Art von Rat oder Erklärung möchtest du denn?

    Da Python2 und Python3 so unterschiedlich sind - aber oft noch Python2 genutzt wird - findest du bei den meisten Linux Systemen eine Installation von beidem.
    Wobei der Befehl 'python' meistens auf Python2 zeigt. Der Befehl 'python3' entsprechend auf Python3.

    Thomas

    Jetzt aber zur Frage.

    Eigentlich war meine Zeile mit: "Über ein Erklärung oder Rat würde ich mich aber trotzdem freuen." überflüssig.
    Deine Antwort das Du erst einmal in Python 3 bleibst hatte alles geklärt. Da ich ja ein Anfänger bin, reicht es mir erst einmal zu wissen
    wo überhaupt mein Fehler beim Aufruf des Terminal im PI war. Auf der grafischen Oberfläche des Pi hatte ich den Programmcode immer über IDLE3 geladen.
    Da alle Bücher auf den Unterschied zu Python 2 hinweisen, ich diese Information aber nicht brauche, ist mir ja jetzt klar das ich das "python3" davor setzen muss
    um das gleiche Ergebnis wie es im Buch ist zu bekommen wenn ich es direkt auf dem Pi im Terminal starte oder aufrufe.

    Danke für Deine Hilfe
    Gruß aus Dorsten wo wir 30 Grad haben
    Herbert

  • raspiprojekt: Ich hab sowohl I2C als auch SPI mit Python3 ohne Probleme am laufen.
    Ich kann gerne Anleitungen bieten wie man die Module unter Python3 installiert bekommt.

    Ich denke auch dass Python2 momentan wegen den vielen Modulen einfacher ist. Aber ich denk halt lieber Richtung Zukunft und bekomm gleich alles mit Python3 zum laufen :)

    Herbert: Schön dass erstmal alles geklärt ist.

    Thomas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!