Einmaleins mit Eingabe-Befehl

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
Unplayable
User
Beiträge: 51
Registriert: Mittwoch 24. Februar 2016, 22:09

Hallo,

ich hänge seit Stunden bei einer Aufgabe fest, eine Zeile aus dem Einmaleins auszugeben. Das heißt, wenn ich zum Beispiel Zeile 2 eingebe, sollen mir die Zahlen 2,4,6,8,10 usw ausgegeben werden. So habe ich angefangen:

Code: Alles auswählen

Zeile = int ( input ("Zeile= "))

for zahl in range (10):
wert= zeile * (zahl + 1)
print (zahl)
Aber wenn ich das jetzt ausgebe kommt immer 9 als Ergebnis raus..
Was mache ich da falsch?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@Unplayable: hier ist erstmal die Einrückung falsch. Einrückung ist in Python wichtig.
BlackJack

@Unplayable: Bei dem gezeigten wird gar nichts ausgegeben, das bricht schon beim kompilieren mit einem `IndentationError` ab.
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

Gewöhn dir die falschen Leerzeichen um Klammern usw. ab. Du hast da einige Fehler drin gehabt, d. h. Groß- und Kleinschreibung ist auch wichtig. Mach dir ferner klar, welche Variable was aufnimmt und welche du folglich ausgeben musst. Ich habe mal eine lauffähige Version geschrieben:

Code: Alles auswählen

zeile = int(input("Zeile= "))

for zahl in range(10):
    wert = zeile * (zahl + 1)
    print(wert)
Für später: Du müsstest eigentlich auch prüfen, ob der Benutzer korrekte Eingaben macht und da ggf. falsche Eingaben abfangen. Ansonsten würde ich wahrscheinlich statt zeile etwas wie eingabe oder reihe verwenden und statt zahl würde ich einfach i verwenden, weil nämlich zahl da auch ein falscher Name ist. Du kannst range auch mit range(1, 11) nutzen.
Unplayable
User
Beiträge: 51
Registriert: Mittwoch 24. Februar 2016, 22:09

Ja ich muss mir das mit der for-Schleife noch mal im Internet anschauen, da ich im Unterricht nicht wirklich verstanden habe wann ich sie wo und vor allem wie verwenden muss. Aber wenn es nur dieser eine kleine Fehler war, dann kann das Grundkonzept ja gar nicht so falsch gewesen sein. Und das mit Zeile und Zahl haben wir so gelernt und ich empfinde es auch einfacher zu merken. Die Formatierung habe ich auch verstanden nur habe ich es hier vergessen alles richtig einzurücken (tut mir leid). Aber vielen Dank für Eure Hilfe :)
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

Ui, :roll:

Dein Quellcode:
for zahl in range(10):
wert = zeile * (zahl + 1)
print(zahl)

Zum Verständnis: Du hast eine for-Schleife, bei der Du der Variablen wert die Variable zeile bzw. ein Vielfaches davon zuweist. Ausgeben möchtest Du dann aber die Variable zahl, d. h. da kommt raus, womit die for-Schleife gefüttert wurde, d. h. immer 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 und das unabhängig von der Variable zeile.

Da ist mehr kaputt, als Du glaubst.

Mein Tipp: Such Dir eine Seite mit Einfach-Aufgaben und löse die Aufgaben mit Python. Ich mag z. B. diese Aufgaben hier: http://www.gailer-net.de/tutorials/java/index.html Mit Java ist das echt was zu tippen. In Python ist das schnell zu erledigen.

Persönliche Frage: Bitte keine persönlichen Daten von DIR! In welchem Bundesland lebst Du, welche Stufe und welche Schulform besuchst Du!? Mir erscheint ungewöhnlich, dass Python im schulischen Bereich eingesetzt werden sollte. Ich begrüße das aber.
BlackJack

@pixewakb: Warum findest Du das immer noch ungewöhnlich? Das hatten wir doch schon mal das Python mindestens in zwei Bundesländern in der Schule verwendet werden kann.
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

In NRW wäre das m. E. nicht ohne weiteres möglich und das ist nicht gut. Was ich dort mitbekomme ist, dass die Python UG gerne Python in die Schulen bringen möchten, aber keinen Zugang finden: Da geht es mittelfristig um Nachwuchs für eben diese UGs. Die Kontakte zu Informatiklehrern, über die ich verfüge, jedenfalls kennen die nur Java und wollen von anderem nichts wissen. Eigentlich schade.
Antworten