Eine Python-HOMEWORK-Zuweisung fordert mich auf, eine Funktion zu schreiben, "die eine positive ganze Zahl als Eingabe verwendet und eine Multiplikationstabelle ausgibt, die alle ganzzahligen Multiplikationen bis einschließlich der eingegebenen Zahl zeigt." (Auch mit while Schleife)
%Vor% Ich weiß, wie ich anfangen soll, weiß aber nicht, was ich als nächstes tun soll. Ich brauche nur etwas Hilfe mit dem Algorithmus. Bitte schreiben Sie nicht den richtigen Code , weil ich lernen möchte. Erzählen Sie mir stattdessen die Logik und Argumentation.
Hier ist mein Argument:
So habe ich das bisher:
%Vor%Bearbeiten: Hier ist, was ich nach all den wunderbaren Antworten von allen habe
%Vor%Es ist immer noch nicht fertig! Zum Beispiel:
%Vor%Und NICHT
%Vor%Was mache ich falsch?
Ich bin etwas verrückt nach der while
loop-Anforderung, weil for
-Schleifen dafür in Python besser geeignet sind. Aber Lernen ist Lernen!
Lass uns nachdenken. Warum ein While True
? Das wird niemals ohne eine break-Anweisung enden, was meiner Meinung nach lahm ist. Wie wäre es mit einer anderen Bedingung?
Was ist mit Variablen? Ich denke du brauchst vielleicht zwei. Eine für jede Nummer, die du multiplizieren willst. Und stelle sicher, dass du sie in der while
Schleife hinzufügst.
Ich bin glücklich, diese Antwort hinzuzufügen, wenn Sie mehr Hilfe benötigen.
Deine Logik ist ziemlich gut. Aber hier ist eine Zusammenfassung von mir:
Stoppen Sie die Schleife, wenn das Produkt der 2 Zahlen n * n
ist.
Drucken Sie in der Zwischenzeit jede Nummer und ihr Produkt. Wenn die erste Zahl nicht n ist, inkrementieren Sie sie. Sobald das der Fall ist, fange an, den zweiten zu inkrementieren. (Dies könnte mit if-Anweisungen geschehen, aber verschachtelte Schleifen wären besser.) Wenn sie beide n sind, bricht der while
-Block ab, weil die Bedingung erfüllt ist.
Nach Ihrem Kommentar, hier ist ein kleines Stück von Hinweis-y psuedocode:
%Vor%Wo soll die ursprüngliche Zuordnung von i und j sein? Was ist etwas, etwas anderes und etwas Spaß?
Dieses Problem wird besser mit verschachtelten Schleifen implementiert, da Sie zwei Zähler haben. Ermitteln Sie zunächst die Grenzen (Start- und Endwerte) für die beiden Zähler. Initialisieren Sie Ihre Zähler zu Beginn der Funktion auf niedrigere Grenzwerte und testen Sie die oberen Grenzwerte in den while-Schleifen.
Der erste Schritt in Richtung einer bestimmten Ausgabe besteht darin, das Muster in dieser Ausgabe zu erkennen.
%Vor% Die Zahl rechts von =
sollte trivial sein, da wir sie berechnen können, indem wir die anderen zwei Zahlen in jeder Zeile multiplizieren; diese zu erhalten, ist der Kern der Aufgabe. Stellen Sie sich die beiden Operanden von *
als zwei Zähler vor, nennen wir sie i
und j
. Wir können sehen, dass i
von 1
bis 3
zählt, aber für jedes i
, j
zählt von 1
bis 3
(was insgesamt ergibt von 9 Zeilen, allgemeiner wird es n 2 Zeilen geben. Daher könnten Sie versuchen, geschachtelte Schleifen zu verwenden, eine Schleife für i
(von 1
bis n
) und eine weitere Schleife für j
(von 1
bis n
) für jede i
. Bei jeder Iteration der verschachtelten Schleife können Sie die Zeichenfolge mit i
, j
und i*j
im gewünschten Format drucken.
Tags und Links python