Python Rechnung berechnen

Hallo zusammen,

ich bin totaler Anfänger und sicher werden jetzt einige bei der Frage nur den Kopf schütteln :D
Aber ich hab mich nun an Python rangemacht, da es doch eine ziemlich anfängerfreundliche ?Skriptsprache? ist. Ich hab immer mal wieder so bisschen in verschiedene Programmier/Skriptsprachen wie C oder Batch geschaut aber halt nie intensiv, aber jetzt mach ich mich an Python.

Ich dachte ich schreib ein kleines Programm das mir den Preis meines Urlaubes berechnet (ziemlich simple und unnötig, aber ganz gut zum üben :D).

Zur Auswahl stehen 3 Reiseziele die einen festen Preis haben. Ich hänge nur gerade bei der Preis Berechnung fest. Ich hab eine if-Verzweigung eingebaut, sprich bei dem input "London" macht er was anders als bei dem input "Berlin"...später zumindest aber soll immer das gleiche machen wie bei der 1. if...

So jetzt kostet eine Nacht London 50 Euro wenn ich jetzt aber wie in meinem Code den input "dauer" * 50 rechnen lass dann kommt anstatt (bei 5 Tagen) 5 * 50 Euro= 250 Euro, einfach 50 mal eine 5 sprich: 55555555......

Hoffe ihr könnt mir helfen...bitte nicht schlagen auch wenn die Lösung bestimmt super einfach ist, aber wie gesagt ich hänge da :(

LG SkyLine

Code:
print("Hallo gib die entsprechenden Daten ein!")
print("Folgende Reiseziele stehen zur Auswahl: London, Berlin, New York")
print("Preis pro Nacht:")
print("London: 50 Euro")
print("Berlin: 40 Euro")
print("New York: 70 Euro")

eingabe = input("Geben sie etwas ein")
print

if eingabe == "London":
    print("Sehr schön London!")
    dauer = input("Wie lange willst du dort bleiben?")
    print
    preis = dauer * 50                                           //Hier is der Haken
    print(preis)


if eingabe == "Berlin":
    print("Sehr schön Berlin!")
    dauer = input("Wie lange willst du dort bleiben?")
    print


if eingabe == "New York":
    print("Sehr schön New York!")
    dauer = input("Wie lange willst du dort bleiben?")
    print
 
Das liegt vermutlich daran, dass du versuchst, einen String (dauer) mit einer Zahl (50) zu multiplizieren:

Code:
~: python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> "5"*10
'5555555555'

Anstatt einen String mit einer Zahl zu multiplizieren, musst du eine Zahl mit einer Zahl multiplizieren, indem du den String in eine (Ganz-)Zahl konvertierst:

Code:
>>> int("5")*10
50
 
Zurück
Oben