Aufgabe Frage !!

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
makavelo
User
Beiträge: 3
Registriert: Sonntag 9. Juli 2017, 13:49

Hallo Liebe Mitglieder,

Habe eine Frage bzgl eines Ausdruckes von einer gelösten Aufgabe in Python!
Aufgabe :
"Schreiben Sie ein kleines Multiplikationsprogramm. Fragen Sie ab, wieviele
Zahlen multipliziert werden sollen, fragen Sie dann die Zahlen nach und nach
ab, multiplizieren Sie sie und geben Sie das Ergebnis aus. Beispielsitzung:
Wieviele Zahlen wollen Sie multiplizieren? 3
1. Zahl? 2
2. Zahl? 7.5
3. Zahl? 42
Das Produkt ist 630.0"

Lösung :

Code: Alles auswählen

count = int(input("Wieviele Zahlen wollen Sie multiplizieren? "))
result = 1
for i in range(count):
number = float(input(str(i+1) + ". Zahl? "))
result = result * number
print("Das Produkt ist", result)

Ich verstehe diesen Ausdruck nicht "number = float(input(str(i+1) + ". Zahl? "))" wieso str ? wir verlangen doch eine Zahl, was hat es mit einen str zu tun ?
In Programieren bin ich noch Anfänger, ich bitte um eine leichte Erklärung.

Danke im vorraus :)
Zuletzt geändert von makavelo am Donnerstag 27. Juli 2017, 16:01, insgesamt 3-mal geändert.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

weil i+1 eine Integer-Zahl ist und die kann man auf die gezeigte Weise nicht mit einem String verknüpfen. Du kannst ja mal das `str()` weg nehmen und die die Fehlermeldung, die dann kommt, anschauen.

Das `str()` kannst du auch weg lassen, wenn man die schönere `format()` Methode von Strings nimmt:

Code: Alles auswählen

number = float(input("{}. Zahl? ".format(i+1)))
Gruß, noisefloor
Zuletzt geändert von Anonymous am Donnerstag 27. Juli 2017, 15:57, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

Dass ist übrigens keine Syntaxfrage. Die fehlende Einrückung beim gezeigten Quelltext wäre eine.
makavelo
User
Beiträge: 3
Registriert: Sonntag 9. Juli 2017, 13:49

Hallo noisefloor,

Vielen dank, ich habe es verstanden :)!

Blackjack, danke für den Hinweis !
Antworten