Probleme mit Übungen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DerNeue420
User
Beiträge: 1
Registriert: Freitag 21. April 2017, 12:35

Hallo, ich habe eine Frage, und zwar bin ich neu eingestiegen ins programmieren. Dazu habe ich mir ein Buch gekauft, es heißt "Einstieg in Python, Ideal für Programmieranfänger geeignet" von Thomas Theis. Ich bin jetzt dabei mein erstes Programm zu schreiben, dabei geht es darum beliebige Inch-Werte in Zentimeter umzurechnen. Ich habe es probiert und fast richtig gemacht. Anschließend habe ich in den im Buch vorhanden Lösungen geschaut und es so wie dort eingegeben. Das sah wie folgt aus:

Code: Alles auswählen

# Umrechnungsfaktor
inch = 2.54 

# Eingabe des Inch-Wertes
print("Bitte geben Sie den Inch-Wert ein:")
xi = float(input())

Umrechnung
xcm = xi  *  inch

# Ausgabe
print("xi, "inch sind", xcm, "cm")
Bei der 3. Zeile xi = float(input()) steht darunter in roter Schrift:

Traceback (most recent call last) :
File "<pyshell#5>", line 1, in <module>
xi = float(input())
ValueError: could not convert string to float:

dann geht halt eine neue Zeile los.

Dann steht noch unter "xcm = xi * inch" folglich "xi is not defined"

Unter der letzen Zeile mit "xi, "inch sind", ...) steht wieder xi not defined.

Es ist nicht so dass das das einzige Problem ist es gibt in den 40 von 500 Seiten des Buches noch viele weitere Dinge die ich genau wie aus dem Buch eingebe und wo Fehler stehen. Sowas nimmt einem echt ein wenig die Motivation ich hatte bis jetzt ein einziges Programm was gut lief und das war Hallo Welt. Die weiteren Probleme werde ich später noch schildern, wenn es Leute gibt die mir helfen, wäre auf jedenfall sehr sehr nett von euch.

Zur Systemintormation: ich benutze ein 64-bit windows 7 pc und python 3.4 als IDLE (Python GUI)

danke für eure hilfe schon mal im Vorraus.
Und bitte nicht wegen meinen rechtschreibfehlern klugscheißern ich habe gerade 0 auf Rechtschreibung geachtet. :D
Zuletzt geändert von Anonymous am Freitag 21. April 2017, 13:12, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@DerNeue420: Du scheinst die Zeilen in IDLE in der Python-Shell einzugeben und nicht im Texteditor. Das ist ein Programm und keine Sammlung von Eingaben für die Python-Shell.

Zeile 8 hast Du entweder nicht so eingegeben oder Du hast einen `NameError` unterschlagen. Oder tatsächlich vorher in der Shell den namen `Umrechnung` definiert. Das ist aber sehr wahrscheinlich ein Kommentar mit einem # davor.

Die Meldung zu `xi` sollte aber eigentlich klar sein. Du hast bei dem `input()` etwas eingegeben was nicht in eine Zahl umgewandelt werden konnte, also welchen Wert sollte `xi` denn dann auch haben?
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

DerNeue420 hat geschrieben:

Code: Alles auswählen

# Umrechnungsfaktor
inch = 2.54 

# Eingabe des Inch-Wertes
print("Bitte geben Sie den Inch-Wert ein:")
xi = float(input())

Umrechnung
xcm = xi  *  inch

# Ausgabe
print("xi, "inch sind", xcm, "cm")
Das Abfragen einer Eingabe würde man in Python sowieso so nicht machen, sondern eher so:

Code: Alles auswählen

xi = float(input("Bitte geben Sie den Inch-Wert ein: "))
Also den Prompt als Parameter an input() übergeben.
Es ist nicht so dass das das einzige Problem ist es gibt in den 40 von 500 Seiten des Buches noch viele weitere Dinge die ich genau wie aus dem Buch eingebe und wo Fehler stehen. Sowas nimmt einem echt ein wenig die Motivation ich hatte bis jetzt ein einziges Programm was gut lief und das war Hallo Welt. Die weiteren Probleme werde ich später noch schildern, wenn es Leute gibt die mir helfen, wäre auf jedenfall sehr sehr nett von euch.
Wenn das Buch nicht vernünftig klarstellt, was Du in der Python-Shell eingeben sollst und was als Programm gedacht ist, das als Text eingegeben, gespeichert und danach gestartet wird (via Run/Run Module aus dem IDLE-Editor oder via Eingabeaufforderung - nicht via Python-Shell), dann spricht das gegen das Buch. Aber schau noch mal rein, vielleicht hast Du da auch was übersehen.
Antworten