Seite 1 von 1
Einmaleins mit Eingabe-Befehl
Verfasst: Montag 14. März 2016, 22:04
von Unplayable
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?
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Montag 14. März 2016, 22:17
von Sirius3
@Unplayable: hier ist erstmal die Einrückung falsch. Einrückung ist in Python wichtig.
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Montag 14. März 2016, 22:18
von BlackJack
@Unplayable: Bei dem gezeigten wird gar nichts ausgegeben, das bricht schon beim kompilieren mit einem `IndentationError` ab.
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Montag 14. März 2016, 23:07
von pixewakb
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.
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Dienstag 15. März 2016, 14:29
von Unplayable
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

Re: Einmaleins mit Eingabe-Befehl
Verfasst: Dienstag 15. März 2016, 15:22
von pixewakb
Ui,
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.
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Dienstag 15. März 2016, 15:55
von 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.
Re: Einmaleins mit Eingabe-Befehl
Verfasst: Dienstag 15. März 2016, 16:37
von pixewakb
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.