Seite 1 von 1

Fragen zu commands

Verfasst: Donnerstag 21. Oktober 2010, 10:54
von Soox
Hi zusammen ich bin noch n newbie was programmieren angeht.

Nun in meinem Buch das ich verwende um Python zu lernen hatte ich eine Übung in der in ein Programm schreiben musste in den man die steuern berechnen konnte. Nach langem probieren habe ich schluss endlich bei der Lösung nachgeschaut. Dort sind mir 2 befehle aufgefallen die im Buch gar nicht beschrieben bzw erklärt wurden

und zwar 1. "float" und 2. "fs"
was genau machen diese befehle?

#Eingabe
print("Geben Sie Ihr Bruttogehalt in Euro ein:")
gehalt = float(input())
print("Geben Sie Ihren Familienstand ein"
+ "(1=ledig, 2=verheiratet):")
fs = int(input())

#Umrechnung
if gehalt > 4000 and fs == 1:
sb = gehalt * 0.26
elif gehalt <= 4000 and fs == 2:
sb = gehalt * 0.18
else:
sb = gehalt * 0.22

#Ausgabe
print("Es ergibt sich ein Steuerbetrag von", sb, "Euro")

Gruss
Soox

Re: Fragen zu commands

Verfasst: Donnerstag 21. Oktober 2010, 11:06
von EyDu
Hallo.

float wandelt, in diesem Fall, einen String in einen Fließkommazahl um. "fs" ist einfach nur ein Name wie "gehalt".

Und benutze doch bitte Python-Codetags für deinen Code, dann kann man ihn auch richtig lesen.

Sebastian

Re: Fragen zu commands

Verfasst: Donnerstag 21. Oktober 2010, 11:35
von DrFaust
Noch etwas ausführlicher für Programmieranfänger:

Was aus input herauskommt ist ein String (Zeichenkette). Etwa "3.141". Wenn ich jetzt z.B. "3.141" + "2.718" rechne, ist das Ergebenis "3.1412.718". Es werden beide Strings hintereinander ghängt. Was du haben willst ist aber eine Addition der beiden Zahlenwerrte. Dafür musst du den String erst in eine Zahl umwandeln. Das geht eben mit float. float("3.141") + float("2.718") ergibt dann auch schön brav 5.859.
Das Multiplizieren von Strings geht dar nicht/verursacht einen Fehler. Und bevor wir jetzt zu sehr in das Thema Operatorenüberladung abtauchen höre ich lieber auf. Das Thema kann gerade für Anfänger sehr verwirrend werden.
Fazit: float wandelt eine Zeichenkette in eine Zahl um, mit der man dann wie gewohnt rechnen kann.

Re: Fragen zu commands

Verfasst: Donnerstag 21. Oktober 2010, 11:55
von Soox
Danke euch :D