Bitte kann es mir jemand erklären

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
Holmes
User
Beiträge: 5
Registriert: Mittwoch 17. Oktober 2018, 21:30

Hallo, dieses Programm gibt das einmal 1 aus.
Kann mir jemand das zeile für zeile erklären
habe es nicht ganz verstanden bin anfänger.
mfg



for A in range(1,11):
for B in range(1,11):
print("{:4}".format(A*B), end=' ')
print()
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Dann arbeite das Programm doch mal "per Hand" ab.
Schreib dir für jede Zeile (in jedem Schleifendurchlauf) auf, welche Variablen welche Werte erhalten.
Hier gibt es das offizielle Tutorial in der Dokumentation. Bei solch grundlegenden Fragen, solltet du das durcharbeiten.
Holmes
User
Beiträge: 5
Registriert: Mittwoch 17. Oktober 2018, 21:30

Ok, mache das nur zum spass bin schon 56 und mein Englisch ist nicht mehr das beste,
deswegen habe ich es gepostet wollte niemanden nerven
mfg
Benutzeravatar
__blackjack__
User
Beiträge: 14044
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Holmes: Eine deutsche Übersetzung des offiziellen Python-Tutorials gibt es hier: https://py-tutorial-de.readthedocs.io/de/python-3.3

Allerdings kommt man beim Programmieren nicht wirklich um Englisch herum. Die meiste aktuelle Dokumentation zu Programmiersprachen und Bibliotheken ist Englisch. Und auch bei der Namenswahl in eigenen Programmen hat Deutsch Nachteile. Da sind die Schlüsselworte und so ziemlich alle Bibliotheken die englischsprachige Bezeichner verwenden. An der Schnittstelle zwischen eigenen, deutschsprachigen Namen und dem Rest hat man dann einen Bruch den man übersetzen muss. Für mich das grösste Problem sind Container-Typen wie Listen, Mengen, und so weiter. Da ist es üblich für den Container die Mehrzahl des Namens zu verwenden, den man einem einzelnen Element geben würde, und oft in Schleifen dann ja auch tut. Im Englischen hängt man fast immer einfach ein Mehrzahl-„s“ an. Im Deutschen dagegen gibt es gar nicht so wenige Bezeichner die in Ein- und Mehrzahl gleich sind.

Was verstehst Du an dem Code denn nicht? Das Schleifenkonstrukt? `range`-Objekte? Die `format()`-Methode? Die Argumente und das Verhalten von `print()`? Ähnlich wie man beim Programmieren ein Problem in Teilprobleme zerlegt, und die wieder in Teilprobleme, solange bis man die einzelnen Teilprobleme mit ein bisschen Code lösen kann, und diese Teillösungen dann zu grösseren Teillösungen zusammensetzt bis das Gesamtproblem gelöst ist, zerlegt man auch eine Lösung die man nicht versteht, in ihre einzelnen Bestandteile und untersucht die, bis man sie verstanden hat, und sie wie zur Gesamtlösung beitragen.

Dabei ist man nicht nur auf die Dokumentation zu den Einzelteilen beschränkt, sondern kann auch zusätzlich mit den Bestandteilen in einer Python-Shell „live“ spielen und sie untersuchen. Man hat dort mit der `help()`-Funktion auch Zugriff auf (englischsprachige) Dokumentation zu Themen die man als Zeichenkette angeben kann, beispielsweise ``help('for')`` um eine Beschreibung von Syntax und Semantik von ``for``-Schleifen angezeigt zu bekommen, oder auch beliebige Werte/Objekte um deren Dokumentation angezeigt zu bekommen. Zum Beispiel ``help(range)`` um Informationen zum `range`-Datentyp zu lesen.

Wenn man Quelltext hier im Beitrag in Code-Tags setzt, dann bleibt übrigens nicht nur die Einrückung erhalten, sondern der Code wird auch noch eingefärbt:

Code: Alles auswählen

for A in range(1, 11):
    for B in range(1, 11):
        print('{:4}'.format(A * B), end=' ')
    print()
Wenn man die Tags nicht von Hand schreiben möchte, gibt es im vollständigen Editor für Beiträge die Schaltfläche mit der Aufschrift </> um die Tags einzufügen.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Holmes hat geschrieben: Sonntag 26. Mai 2019, 22:29 Ok, mache das nur zum spass bin schon 56 und mein Englisch ist nicht mehr das beste,
deswegen habe ich es gepostet wollte niemanden nerven
mfg
Hallo Holmes,
du ich bin auch schon über 50 und habe mir Python vor einem Jahr do-it-yourself angeeignet, wenn man wirklich will dann klappt das.
Wenn man etwas auf Englisch nicht versteht, dann gibt es mittlerweile das hier https://translate.google.de/.
Du nervst hier nur, wenn du von uns ohne Eigeninitiative verlangst, dass wir für dich denken und programmieren sollen.
Sei offen, lernfähig und engagiert und du bist hier herzlich willkommen und wir helfen dann gerne.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten