Seite 1 von 1
brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:25
von fffrogi
Hallo,
ich hab heute mit Python angefangen ,scheitere aber schon bei einem meiner ersten Programme:
Es ging darum einen einfachen Newton-Rechner zu programmieren.
Hier der Quelltext:
Code: Alles auswählen
print("NewtonRechner")
print("Hier Masse in kg eingeben:")
m = input()
print("Beschleunigung in m/s² eingeben:")
a = input()
f = m * a
print("Das Ergebnis in Newton lautet:", f)
input
Bis zu dem Punkt an dem das Ergebnis angezeigt werden soll läuft alles ohne Probleme? Könnt ihr mir meinen Fehler erklären?
Vielen Dank im Vorraus
Fabian

Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:26
von Dav1d
Hallo und Willkommen im Forum,
Welche Python-Version verwendest du denn? Das sieht mir nach einem Mix zwischen Python2 und Python3 aus.
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:29
von sparrow
Und vor allem: was genau geht denn nicht? Fehlermeldungen? Unerwünschtes Verhalten? Ergebnis stimmt nicht?
Mehr Details bitte.
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:36
von fffrogi
Ich verwende Python 3.2.3.
Die Fehlermeldung lautet:
Code: Alles auswählen
Traceback (most recent call last):
File "C:/Python/NewtonRechner", line 6, in <module>
f = m * a
TypeError: can't multiply sequence by non-int of type 'str'
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:39
von deets
Du musst die Eingaben erstmal zu Zahlen wandeln - denn sie sind Strings.
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:43
von fffrogi
Und wenn a durch den Benutzer eingegeben werden soll dann so:
?? :K
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:47
von EyDu
Fast. Du wills ja das ERGEBNIS von input in einen Integer umwandeln, daher musst du input noch aufrufen:
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:48
von fffrogi
Jetzt hab ichs verstanden, Danke für eure schnelle Hilfe.

Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 15:53
von mutetella
@fffrogi:
'input()' liefert einen string.
'int()' liefert eine Zahl.
Das was 'input()' also liefert, musst Du wiederum an 'int()' weiterreichen. Also:
Etwas kompakter:
Und einen Prompt kannst Du übrigens auch gleich an 'input()' übergeben, damit sparst Du Dir ein 'print()':
Code: Alles auswählen
>>> a = int(input('Beschleunigung in m/s² eingeben: '))
Beschleunigung in m/s² eingeben: 10
>>> a
10
mutetella
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 18:36
von fffrogi
Ich habs das gleiche noch mit der Masse versucht, aber es kommt immer was falsches raus :K
Code: Alles auswählen
#Masse ausrechnen
#g=Kraft
#b=Beschleunigung
#r=Masse
print("Hier Kraft in N eingeben:")
g = int(input())
print("Hier Beschleunigung in m/s² eingeben:")
b = int(input())
r = g * b
print("Das Ergennis in kg lautet:", g)
input()
exit

Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 19:01
von /me
Wenn du Nachkommastellen möchtest, dann solltest du keine Integerwerte verwenden. Verwende in dem Fall float() statt int().
Wenn du ein Tutorial für den Einstieg suchst dann schau mal unter
http://docs.python.org/py3k/tutorial/.
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 19:05
von EyDu
Hallo,
da stimmen gleich mehrere Sachen nicht: Zunächst musst du dir über den richtigen Datentyp Gedanken machen. Momentan wandelst du alles in einen Integer um, vielleicht wäre ``float`` hier aber doch angebracht und nicht ``int``. Außerdem rufst du ``exit`` überhaupt nicht auf, da hast du einfach die Klammern vergessen. Aber wahrscheinlich brauchst du den exit-Aufruf gar nicht.
Wenn bei dir etwas nicht funktioniert wie gewünscht, dann solltest du auch angeben, wie es zu dem Fehler kommt und was für ein Ergebnis du erwartest. Also konkret: was hast du eingegeben, was wurde ausgegeben und was hätte ausgegeben werden sollen. Und ggf. dazu noch die Fehlermeldung inklusive des gesamten Tracebacks.
Nun aber zu deinem eigentlichen Fehler: Beim Programmieren ist es unglaublich wichtig, dass man sprechende Namen vergibt. g, b und r sagen mal gar nichts aus. Bennene bei dir mal alles richtig, dann wirst du schon über den Fehler stolpern (und dich darüber ärgern, wie dumm dieser Fehler war

).
Sebastian
Re: brauche Hilfe bei Rechner
Verfasst: Dienstag 17. Juli 2012, 19:19
von fffrogi
stimmt hab die namen der Variablen verändert und bin selbst drauf gekommen!!
