Fehlerhafter Programmcode?

Robocop86

Captain Special
Mitglied seit
16.10.2006
Beiträge
215
Renomée
6
Lerne mit Python Anaconda speziell mit "Spyder" programmieren und hab mir dazu ein Buch gekauft. Bei einer Aufgabe steht ungefähr als Lösung

#Eingabe

print("Bitte monatlichen Gehalt eingeben")

g = float(input(2000))

#Berechnung

st = 0,16*g

#Ausgabe
print("Die Steuer beträgt", st, "Euro")

Als Ergebnis wird aber nur der g Wert angegeben, nicht der st wert. Fehler im Buch bzw im Code oder im Programm?
 

Fliwatut

Vice Admiral Special
Mitglied seit
27.05.2016
Beiträge
570
Renomée
6
Die Berechnung ist imho falsch, es muss
st = 0.16*g
heißen.
 

Robocop86

Captain Special
Mitglied seit
16.10.2006
Beiträge
215
Renomée
6

bschicht86

Redaktion
☆☆☆☆☆☆
Mitglied seit
14.12.2006
Beiträge
2.963
Renomée
126
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
Also ich kenns aus anderen Sprachen so, dass der Teil mit Float und Input durchaus seine Berechtigung in der Ebende zur Variablendefiniton hat. In dem Teil, wo dann die Berechnung ausgeführt wird, interessiert nur noch die eigentliche Zahl.

Evtl. als Erklärungsansatz.
 

PC_^_^

Fleet Captain Special
Mitglied seit
23.04.2016
Beiträge
337
Renomée
11
Hi ich kenne "spider" nicht aber wie bschicht86 schon angesprochen hat, ist u.a. die Variablendeklaration bzw. das anlegen dergleichen usw.
in anderen Hochsprachen essentiell. Mir ist allerdings noch aufgefallen das die Variable "str" keinem Datentyp zugewiesen ist.

g ist vom Typ float aber str ? ;D Ich habe mal ein einfaches Beispiel in C++ geschrieben (Bild).

TippBerechnung.jpg
 

Robocop86

Captain Special
Mitglied seit
16.10.2006
Beiträge
215
Renomée
6
Hi ich kenne "spider" nicht aber wie bschicht86 schon angesprochen hat, ist u.a. die Variablendeklaration bzw. das anlegen dergleichen usw.
in anderen Hochsprachen essentiell. Mir ist allerdings noch aufgefallen das die Variable "str" keinem Datentyp zugewiesen ist.

g ist vom Typ float aber str ? ;D Ich habe mal ein einfaches Beispiel in C++ geschrieben (Bild).

Anhang anzeigen 40488

Ich gehe nur so vor wie es im Buch steht. In der Lösung wurde Str auch keinem Datentyp zugeordnet.^^

Schon habe ich das nächste Problem. Das Programm gibt mir bei einem logischen Operator ein Syntax raus. Ich soll ein Programm schreiben, wo der Anwender das Datum eingeben soll. Gibt er die falsche Zahl an, soll eine Fehlermeldung rausgegeben werden. Als erster Schritt soll mit dem Tag begonnen werden z.b. wenn jemand beim Datum eine 32 eingibt soll ein Error rauskommen. Sieht bei mir bisher so aus. Bei der if Zeile gibt er mir ein Error raus beim > Zeichen

print ("Bitte geben sie den Tag an:")

tag = int(input())

if tag < 1 or > 31:

print ("its wrong")

else:
print ("its right")
 
Zuletzt bearbeitet:

PC_^_^

Fleet Captain Special
Mitglied seit
23.04.2016
Beiträge
337
Renomée
11
Hi Robocop86 :D

Wird im Buch auch die gleiche Entwicklungsumgebung (IDE) bzw. Compiler, Interpreter benutzt mit dem du die Programme schreibst ?
Evtl. fehlt die Klammerung in der "if-Zeile". Ein Beispiel des Syntax von C++ ist im Bild.

TippVerzweigung.jpg
 

Robocop86

Captain Special
Mitglied seit
16.10.2006
Beiträge
215
Renomée
6
Hi Robocop86 :D

Wird im Buch auch die gleiche Entwicklungsumgebung (IDE) bzw. Compiler, Interpreter benutzt mit dem du die Programme schreibst ?
Evtl. fehlt die Klammerung in der "if-Zeile". Ein Beispiel des Syntax von C++ ist im Bild.

Anhang anzeigen 40497

Im Buch wird IDLE benutzt. Gut mir wurde Spyder empfohlen. Aber du hast recht, mit den Klammern funktioniert es!^^ In der Lösung im Buch wurden keine Klammern benutzt. Ich glaub da sind einige Fehler drinnen.
 
Zuletzt bearbeitet:
Oben Unten