Python-Miniprojekte – ein Mathe-Quiz erstellen | Matthew Funcke | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Python-Miniprojekte – ein Mathe-Quiz erstellen

teacher avatar Matthew Funcke

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      1:35

    • 2.

      Die Analyse von Gleichungen

      3:41

    • 3.

      NebenNote – Verstehende Alternativen

      2:26

    • 4.

      Fragen erstellen

      9:28

    • 5.

      Die Game

      7:15

    • 6.

      Zusammenfassung und Feedback

      1:18

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

1.893

Teilnehmer:innen

7

Projekte

Über diesen Kurs

In diesem Kurs zeigen wir dir Schritt für Schritt ein Quiz in Python Das Ziel ist es, dir zu zeigen, wie verschiedene Programmierkonzepte zusammengebracht werden können, um eine vollfunktionale und funktionelle echte Anwendung zu erstellen.

Wir werden nicht ein einzeles Thema eintauchen – sehr grundlegende - - aber wir erklären und dir doch etwas wie:

  • Wie du die Logik einer Methode ausarbeitest.
  • Wie du unerwartete Eingabe umgehst.
  • Code gut zertrennen.
  • Wie du die eigenen Methoden zusammenbringst, um etwas nützliches zu schaffen.

Wenn wir die Lektionen durchgehen, werden wir optionale Hausarbeit vorgehen. Diese Aufgaben werden die Form von Verbesserungen an der Code einer Kurseinheit oder zur alternativen Implementierung vorgehen.

Triff deine:n Kursleiter:in

Teacher Profile Image

Matthew Funcke

Kursleiter:in

Skills dieses Kurses

Entwicklung Programmiersprachen Python
Level: Intermediate

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Willkommen bei Python. Viele Projekte Math-Quiz-Spiel-Zusatz in diesem Kurs wird die Schaffung eines winzigen Konsolenspiel . Der Test der Spieler. Massen-Fähigkeit. Dieser Mini-Projektkurs ist in methodengroße Chunks aufgeteilt. Buchstäblich. Die meisten Lektionen konzentrieren sich auf eine einzige Methode. Sie lernen, wie Sie randomisierte Mathematikfragen erstellen. Berechnen Sie die Antwort auf diese Fragen. Erstellen Sie eine Spielschleife, die eine gute Benutzererfahrung bietet undvor allem, vor allem, wie verschiedene grundlegende Rohrleitungsstrukturen verwendet werden. Also, für wen ist dieser Kurs? Nun, eigentlich, ein paar verschiedene Leute Erstens, wenn Sie Grundkenntnisse über fromme und Python haben und gerne sehen möchten, dass die Sprache praktisch genutzt wird , ist dieser Kurs genau das Richtige für Sie. Es ist eine ausgezeichnete Möglichkeit zu sehen, wie Probleme zerlegt werden können und wie man sie mit Python löst . Wenn Sie kein Piketon kennen, aber Sie bereits mit einer anderen Sprache vertraut sind. Java Sea Sharp Taps Skript. Es spielt keine Rolle. Dann ist Ihre Zielgruppe Nummer zwei. Wenn Sie in diese Kategorie fallen, erhalten Sie eine schnelle Exposition gegenüber Pattons ungewöhnlicher Syntax. Als jemand, der in den letzten zehn Jahren mehr als 14 Programmiersprachen ausgesetzt ist, fühle ich mich ein wenig alt. Ich spreche aus Erfahrung, wenn ich sage, dass das Betrachten des Codes eines anderen in Ihrer neuen Sprache und das Ändern an Ihre Bedürfnisse ist einer der Wege, um diese Sprache zu holen. Dies liegt daran, dass Sie so viele Aspekte zu sehen bekommen, dass traditionelle Lernressourcen oft einfach nicht für Anfänger zeigen. Dies ist auch ein guter Kurs für jeden, der Pathan bereits kennt, aber eine schnelle Auffrischung möchte , also lass die Programmierung beginnen. 2. Die Analyse von Gleichungen: in dieser intra Lektion Toe müssen ein mathematisches Quizspiel mit Python erstellen. Wir werden den Kern schaffen, das ganze Projekt. Dies ist eine Methode namens Antwort berechnen, und was tun wird, ist ein Problem gegeben. Es wird dir zurückgeben. Die Antwort wird diese Methode während des gesamten Projekts verwenden, und es ist wirklich wichtig, dass wir es richtig machen. Wir werden beginnen, indem wir eine einfache Skelett-Methode erstellen, nur eine Demo, dass unsere Umgebung funktioniert. Wir haben erwartet, dass wir nein zurückgeben, da dies der Standardwert und Python ist. Es tut das, also ist es so eingestellt, dass es weitergeht. Als Nächstes. Lassen Sie uns Parameter hinzufügen. Eine Methode wie diese wird alle Komponenten einer grundlegenden mathematischen Frage akzeptieren. Ah, linke Seite, die rechte Seite und ein Operator wie Plus oder Minus, es ist in eine Dummy-Return-Anweisung gesetzt. Wir haben den Operator vorerst schwer codiert, um die Dinge einfach zu halten und zu zeigen, dass das Ändern der Argumentwerte tatsächlich eine Wirkung hat. Um den Fortschritt in Zukunft zu verfolgen, werden diese Drucke Anweisungen uns wissen lassen, welche Operationen verhalten sich wie erwartet in einer späteren Lektion. Wird diese gegen echte Testfälle tauschen, anstatt nur Drucke. Beachten Sie, wie sie alle die gleiche Antwort geben. Für den Moment. Lassen Sie uns das später mit einer einfachen if-Anweisung beheben, können Sie Ellis hinzufügen, aber es ist nicht wirklich notwendig. Ein einfacher Saitenvergleich im Ofen. Wenn Operator für jetzt genug ist, die ersten 2 Ausgänge des Verhaltens wie erwartet, kann die gleiche Logik den ganzen Weg nach unten verwendet werden. Ich muss daran denken, jede Bedingung zu ändern, und jeder Rückgabeoperator und die Ausgabe scheinen korrekt zu sein. Aber was passiert, wenn eine Art ungültiger Eingabe gegeben wird? Nehmen wir an, ein Smiley-Gesicht oder etwas, das gleichermaßen seltsam ist, dass Addition nicht viel Sinn macht . Lassen Sie uns also die gleiche Logik wie seine Geschwister geben, die diesen Codeblock duplizieren . Das lässt die Frage, was der richtige Weg ist, schlechte Eingaben zu behandeln. Wir könnten einfach eine Konstante wie eine Null zurückgeben, aber dann wird niemand wissen, dass etwas schief gelaufen ist. Wenn dies der Fall ist, könnten wir auch eine Luftmeldung anzeigen, aber das macht die Ausgabe hässlich und kann ignoriert werden. Der beste Weg, um so etwas zu behandeln, besteht darin, eine Ausnahme auszulösen, die es zwingt, zu bestätigen, dass sie einen Fehler haben und ihn entweder beheben oder explizit mit einem try-Catch behandeln . Jetzt wollen wir diesen Code ausführen, um zu überprüfen, dass Ausnahme tatsächlich ausgelöst wird wo es sein sollte. Und hier ist es als Hausaufgaben für diese Lektion. Versuchen Sie, eine zusätzliche Gleichung hinzuzufügen. Geben Sie zum Beispiel auf Exponenten oder Macht des Operators ein. Erkennen Sie auch das unhandliche Aled-Problem um die Division und implementieren Sie eine explizite Fehlermeldung , wenn es passiert. Damit wird die erste Lektion zum Erstellen eines Mathematik-Quiz-Spiels mit Python abgeschlossen. Hoffentlich sind wir nicht zu schnell gegangen, und wenn wir mir eine Nachricht schicken und ich sehe, was wir tun können, um Ihnen zu helfen. Also eine schnelle Überarbeitung dessen, was drei Hauptpunkte abgedeckt wurde, haben wir eine Wertrückgabe-Methode geschrieben , die die Antworten auf eine mathematische Frage berechnet. Wir benutzten ifs, um zu entscheiden, was verschiedene Operatoren taten, und schließlich lernten wir, wie man eine Ausnahme auslöst, damit unerwünschte Verhaltensweisen schnell behandelt werden konnten . Also in der nächsten Lektion werden wir die Systemmethode schreiben, um zu berechnen. Antwort. Ich e, Fragen generieren. Wie immer, zögern Sie nicht, Fragen oder Feedback zu hinterlassen, und ich werde mein Bestes tun, um sie anzusprechen 3. NebenNote – Verstehende Alternativen: und jetzt eine schnelle Tangente, bevor ich zum nächsten Teil des Quizprogramms übergehe, wollte ich zeigen, dass es fast immer eine andere Möglichkeit gibt, etwas zu codieren. Während eine Möglichkeit nicht immer besser ist als eine andere, hat jede Version normalerweise ihre eigenen eigenen Vor- und Nachteile. Ich werde einige dieser Vor- und Nachteile anhand von zwei Beispielen erklären. Ein weiterer Vorteil von Sidebars wie diesem ist, dass Sie in der Lage sein werden, Exposition gegenüber Funktionen der Sprache zu bekommen , die Sie vielleicht nicht wussten, dass existierte. Also für alternative Nummer eins überprüft die Kombination von Lambda-Funktionen und Wörterbüchern um den Überschuss an if-Anweisungen zu entfernen. Wenn Sie nicht wissen, was einer von denen ist, ist das in Ordnung. Und wenn du weißt, was sie sind und wie man sie so kombiniert, warum schaust du dir dann dieses Video an? Sie haben eine College-Oberstufe gehört. Dieser Funktionsansatz ist meiner Meinung nach aus mehreren Gründen nett , weil er leicht zu lesen, trivial zu erweitern und nicht restriktiv in Bezug auf benutzerdefinierte Operatoren ist. Zum Beispiel könnten Sie den Buchstaben l oder buchstäblich jede andere Zeichenfolge verwenden, um einen Logarithmus darzustellen. Wenn Sie mit dieser Version experimentieren möchten, habe ich einen Link in der Beschreibung geteilt. Alternative Nummer zwei ist eine völlig andere Bestie. Das Böse ist etwas, das die meisten Sprachen nicht haben, ist eine eingebaute Funktion. Javascript und Python sind die einzigen beiden Ausnahmen, die ich ausdenken kann. Hand ive out ist im Wesentlichen ein Aufruf an den Partnerdolmetscher, der so etwas sagt . Nehmen Sie diese Zeichenfolge, tun Sie so, als wäre es Code, und geben Sie mir dann zurück, was immer es endet. Pass Evil ist in diesem Beispiel sicher, aber nur, weil wir gegen die Liste der juristischen Operatoren überprüft haben, bevor wir etwas tun. Wenn wir diese Überprüfung nicht hätten, könnte hier beliebig komplexer Code injiziert werden, was ein echtes Sicherheitsrisiko darstellt. diesem Grund, Beschwörung Umgebungen völlig deaktiviert Böse, was es etwas zu vermeiden, wenn möglich aus Kompatibilitätsgründen. Eine weitere Einschränkung bei diesem Ansatz ist, dass das Gleichungsformat starr mit jeder Python verbunden ist , die taktisch für legal hält, so dass das Protokollbeispiel von vorher hier nicht verwendet werden konnte. Der einzige große Profi des Bösen ist, wie sehr, sehr kurz und lesbar es mit dieser hoffentlich informativen Tangente ist. aus dem Weg Lassen Sie unsaus dem Wegzum nächsten Teil der Quizes-Logik fortfahren 4. Fragen erstellen: hallo und willkommen zu der zweiten Haupt Verminderung, Schaffung eines Patent Mathematik Quiz Spiel. Bisher haben wir gelernt, wie man das Ergebnis einer bestimmten Frage berechnet. Aber das ist nicht wirklich viel Nutzen für sich. Immerhin, wenn Sie Ihre Fragen zu meiner Hand stellen, würden Sie nicht wirklich einen Taschenrechner brauchen, weil Sie einfach Tänze ausarbeiten können, während Sie mitmachen . In dieser Lektion werden wir das Generieren von zufälligen Fragen mit Pythons Rand in Method behandeln und gegen Ende wird auch kurz zeigen, wie die vorhandene Berechnungsantwortmethode aus der letzten Lektion und die neu erstellte Fragemethode aus dieser Lektion kann gemacht werden, um miteinander zu kommunizieren, etwas Nützliches zu werden, wo es einmal auf der ephemeren Theorie Weg, mehr zu diesem zweiten Teil in der nächsten Lektion, lassen Sie uns beginnen. Wie immer ist das erste, was zu tun ist, den Umriss unserer Zielmethode zu erstellen. Im Moment gibt es keine offensichtlichen Argumente, also lassen wir das leer. Der Hauptzweck der Methode, die Renditen haben, ist etwas, das wir weiter diskutieren müssen. Ich habe kurz zuvor erwähnt, dass Frage generieren. Ist die Systemmethode, um die Antwort zu berechnen. Vielleicht ist ein passenderer Vergleich der Erzeuger- und Konsumentenberechnung. Antwort verbraucht die Ausgaben von generieren Frage. Dies bedeutet, dass die Rückgabewerte hier die Struktur abspiegeln sollten. Welche Berechnungsantwort erwartet in dieser bestimmten Version? Berechnen Antwort erwartet drei Argumente für Zahlen und einen Operator. Wie immer gibt es alternative Lösungen, gibt es alternative Lösungen, wie zum Beispiel die Weitergabe von Frageobjekten. Aber das ist gut genug für unseren einfachen Anwendungsfall. Das ist das Skelett unserer Methode komplett. Lassen Sie uns jetzt all diese hartcodierte Hässlichkeit entfernen. Die Fixierung der Zahlen mit etwas zufälligerem ist die einfachere Art des Ersatzes. Also lasst uns dort anfangen. Dieser neue Import bedeutet, anstatt die gesamte zufällige Bibliothek einzubringen, wir wollen nur Zugriff auf die zufällige Interview-Generierung Methode, die es enthält i e Rand in. Dies ist eine nette Möglichkeit, Klappern in größeren Programmen zu reduzieren, da Sie nicht mehr sagen müssen, Random dot lief jedes Mal, wenn Sie eine neue Zufallszahl erstellen möchten , Brandon und erwartet Argumente und obere und untere Grenze 0 bis 10 klingt wie ein Ausgangspunkt für diese. Als wir dabei waren, bemerkte, dass sich der erste Rückgabewert jetzt jedes Mal ändert, wenn dies das erwartete Verhalten war . Also lassen Sie uns die Logik für die rechte Seitenzahl duplizieren. Zufällige Eingabe des Operators ist, wo die Dinge es verwirrend machen. Denken Sie daran, dass ein Operator einer von sehr begrenzten Zeichensätzen ist, und daher wird die zufällige Bibliothek nichts haben, um uns zu helfen, zumindest nicht direkt als Ausgangspunkt. Wir können explizit Liste sind von bekannten Operatoren als String gesetzt. Als nächstes fragen Sie sich. Wie würden wir genau einen Operator aus dieser Sammlung auswählen? Die einfachste Antwort ist die Straße zu behandeln. Die Zeichenfolge ist eine Liste und verwenden Wert Indizierung Hinweis, wenn wir diesen Wert ändern oder indizieren die zurückgegebenen operierten Änderungen mit ihm. Um die Dinge zufälliger zu machen, ersetzen wir den konstanten Index durch etwas dynamischeres. Verwendung ähnlicher Logik ist, bevor wir jetzt einen zufälligen Operator-Indexwert haben. Bevor wir dies ausführen, sehen Sie, ob Sie das Problem erkennen können. Pause. Jetzt. Wenn Sie selbst versuchen möchten, wird die Antwort klar. Wenn wir diesen Code ein paar Mal ausführen, stürzte es ab. Der Grund, der abgestürzt ist, ist, dass wir mit den Operator-Index-Grenzen nicht vorsichtig waren. Im Gegensatz zu den meisten Sprachen hat Python einen Inclusive-Up im Überfluss auf seinen Zufallszahlengenerator statt auf einen exklusiven . Ich bringe das auf, weil es zu subtilen Bugs führen kann, die super schwer zu replizieren sind und Deepak. Die einfachste Lösung besteht darin, nur eine von der oberen Grenze zu subtrahieren. Die möglichen Zahlen, die jetzt generiert werden, sind 012 oder drei, aber nie für die Bedeutung wird nie außerhalb der Grenzen gehen. Werfen wir einen Blick auf eine größere Beispielausgabe unserer neuen Methode. Es sieht meistens gut aus, aber hier ist ein weiteres potenzielles Problem. Wir haben hier einen Divisionsoperator und einen Wert auf der rechten Seite von Null. Dies ist ein Problem, weil es zu einer Division durch Null führt. Wir könnten dies lösen, indem wir einfach „Sind Fragen auf Null“ umgrenzen, jedoch künstlich einschränkt, was jedoch künstlich einschränkt,was unser Programm tun kann. Stattdessen lassen Sie uns hier ein Häkchen stellen, damit wir das Problem lösen können, anstatt es nur zu verstecken. Der Anwendungsfall, auf den wir achten möchten, ist die Division durch Null, was nur dann auftritt, wenn diese beiden getrennten Bedingungen erfüllt sind. Ermitteln, wo das Problem auftritt, ist Schritt eins. Als nächstes müssen wir entscheiden, wie wir es tatsächlich beheben. Wir können nicht einfach eine Ausnahme auslösen, das ist eigentlich keine Lösung. Wir könnten eine auf der rechten Seite hinzufügen, aber das führt zu einer leichten Vorliebe für Fragen, bei denen die rechte Seite eins ist. Wir könnten die Nummer komplett neu berechnen, und das ist eigentlich die beste Antwort. Das einzige Problem mit der Version, die Sie jetzt sehen, ist, dass es noch eine Chance nach diesem neuen, wenn fertig ist, dass wir Null wieder bekommen. Um zu verhindern, dass dies geschieht, wird die if mit einer while-Schleife ersetzt, die dieselbe Bedingung verwendet . Jetzt können wir garantieren, dass RHS einen sicheren Wert hat. Ehrfürchtig zu überprüfen, dass das der Fall ist. Lassen Sie uns eine überprüfte unsere Ausgabe-Schleife für potenzielle Division durch Null hinzufügen. Anstatt eine visuelle Überprüfung durchzuführen. Sie können auch die zurückgegebenen Werte verwenden, indem Sie sie in unsere vorherige Berechnungsmethode umgehen. Antwort. Wenn nichts passiert, wenn die Antwort berechnet unsere Werte verwendet, wissen Sie, dass sie sicher sein müssen. Ah, der Bonusvorteil, so zu überprüfen, ist, dass wir sehen können, wie unsere beiden Methoden interagieren, bevor wir Hausaufgaben geben. Lassen Sie uns schnell Zeile für Zeile zusammenfassen. Hier haben wir unsere Sammlung von bekannten Operatoren in dieser Version, eine einfache Zeichenfolge. Hier generieren wir einen zufälligen Index, der sicher in der oben genannten Zeichenfolge verwendet werden kann. Als nächstes haben wir die beiden vorherigen Zeilen kombiniert und wieder aus dem endgültigen Operator-Wert. Diese beiden Zeilen erzeugen nur zufällige Interjizz für die Verwendung als numerische Komponenten unserer beiden Fragen. Hier haben wir die Schleife, die die Division durch Null-Fragen überprüft und verhindert, indem die rechte Seitenzahl regeneriert wird. Und schließlich haben wir alles zurückgegeben, was wir bisher erzeugt haben. Bereit für den externen Verbrauch. Okay, Hausaufgaben Zeit. Du wirst es bemerken. Es gibt viele hartcodierte Zahlen hier. Das bedeutet, dass nur ein sehr begrenzter Fragebereich generiert werden kann. Ich möchte, dass Sie zwei neue Argumente unterer Grenze hinzufügen und darüber. Erlauben Sie jedem, der unsere Methode aufruft, einen alternativen Satz von Grenzen anzugeben. Zum Beispiel haben Sie einige Schüler, die über negative Zahlen lernen müssen. Eine untere und obere Grenze minus 10 bis 10 anstatt 0 bis 10 würde ihnen erlauben, genau das zu tun. Denken Sie daran, es gibt mindestens drei verschiedene Zeilen, in denen diese sauberen neuen Argumente verwendet werden müssten . Das nächste Stück Hausaufgaben ist etwas kniffliger. Ich möchte, dass Sie Multi-Character-Operatoren wie Log oder Pathans Doppelstern-Operator erlauben . Meine Hand für diese ist, dass die aktuelle Operator-Zeichenfolge vielleicht eine andere Index-Kräuter-Sammlung sein sollte . Ich weiß, dass die Demo gegen Ende des Teils darüber, wie man die Ausgabe zeigt und testen kann, ein bisschen schnell gemacht wurde , aber das war aus einem guten Grund. Ich schwöre es. Zunächst einmal war es nicht wirklich der Schwerpunkt dieser Lektion. Der Fokus sollte sein, wie man zuverlässig sichere Zufallsfragen generieren kann. Aber noch wichtiger ist, dass fast all diese Logik wird im nächsten Video vorhanden sein, wenn wir alles , was wir bisher getan haben, zusammen bringen , um die Hauptspielschleife zu erstellen. Das bedeutet, dass die detaillierteren Erklärungen noch kommen. Aus dieser Lektion gibt es zwei Hauptmitnahmen. Wie verwendet man die Zufallsmethode, um Zufallszahlen zu generieren und Operatoren zufällig auszuwählen, und wie man Schleifen verwendet, um zu verhindern, dass unerwünschte Werte eindringen und später Probleme verursachen . Vergessen Sie nicht, wenn Sie mit etwas stecken, hinterlassen Sie einen Kommentar oder senden Sie eine Nachricht, und ich werde mein Bestes tun, um Sie beim nächsten Mal zu sehen 5. Die Game: ein etwas anderer Stopp als üblich diesmal, da wir im Begriff sind, die Hauptspielschleife zu schreiben, müssen wir keine dedizierte Methode dafür erstellen, wie wir es normalerweise tun würden, obwohl ein Großteil der größeren Zehenhilfe-Methode für Hausaufgaben extrahiert werden kann, wenn Sie wollen. Anstatt sich Gedanken über Argument- und Rückgabetypen zu machen und methodenspezifische Logik auszuarbeiten , ähnlicher Ansatz wiederholt zu fragen, Was würde ich als nächstes tun oder sehen wollen? Wenn ich der Spieler wäre, das erste, was ich möchte, ein Spieler ist eine Frage, die mir gezeigt wird, um Frage zu zeigen , wir müssen zuerst eine hier generieren. Wir rufen generierte Frage aus der letzten Lektion und Speicherergebnis in einer Fragenvariablen für die spätere Verwendung auf. Jetzt haben wir eine Frage, die dem Benutzer angezeigt werden muss. Ah, print-Anweisung mit etwas String-Formatierung, um die Dinge schön und hübsch zu machen, ist gut genug für jetzt. Als wir dabei waren, sehen wir die Frage ordentlich angezeigt. Schön. Fragen Sie sich jetzt noch einmal, was würde ich als Nächstes tun oder sehen wollen? Wenn ich ein Spieler wäre, würde ich sagen, die nächste Sache ist, lassen Sie mich Ihre Frage dafür beantworten. Die Eingabemethode ist die einzig wirkliche Option für ein Konsul Programm. Jetzt haben wir die Spielerfrage gegeben und ihre Antwort wieder hergestellt. Eine schnelle Tangente hier. Beachten Sie, dass wir beide die Frage anzeigen und dann den Benutzer ein zweites Mal zur Eingabe auffordern . Das sieht klobig aus. Können wir beide Dinge nicht im Schlepptau kombinieren? Eins. Und die Antwort ist absolut und Sie sollten. Um dies zu tun, können wir einfach die Fragezeichenfolge schneiden, die in den Eingabeaufruf eingefügt wurde. Und dann, wenn wir es Voila ausführen, Anita Benutzererfahrung ohne wiederholte Eingabeaufforderungen. Der nächste Schritt in einem Spiel wie diesem wäre, dem Spieler Feedback zu geben, ob er Recht hatte oder nicht, dieses Feedback zu geben. Wir brauchen zwei Dinge, die wir noch nicht haben. Wir müssen die richtige Antwort kennen, und wir brauchen ein Mittel, um die richtige Antwort mit den Spielern zu vergleichen. Antwort. Was wir bereits aus dem vorherigen Schritt haben. Zeit, um unsere andere Hilfe-Methode berechnen aufzurufen. Antwort. Wir haben die richtige Antwort hier in dieser Variablen. Jetzt brauchen wir also ein Mittel, um die beiden verschiedenen Arten von Antworten zu vergleichen. Beginnen wir mit dem naiven Ansatz, die beiden direkt zu vergleichen, als wir das ausgeführt haben, obwohl wir eine richtige Antwort geben, es sagt, dass wir falsch waren. Warum sollte es das tun? Die Antwort ist eigentlich ziemlich einfach. Eingabe gibt eine Zeichenfolge zurück, aber berechnen Antwort gibt eine Zahl zurück. Selbst wenn die beiden Werte ähnlich aussehen, wie Sie hier sehen können, sind sie in den Augen Ihres Computers sehr unterschiedlich. Wenn wir die eine Seite dieses Vergleichs mit einer Schnur kosten, kommen wir plötzlich zurück. Es stimmt, wir können die gleiche Gießtechnik in unserem vorherigen Vergleich verwenden, und jetzt, wenn wir eine richtige Antwort geben, bekommen wir viel erzählt. Es gibt immer noch ein kleines Problem mit diesem einfachen Vergleich. Was passiert, wenn Sie der Benutzerfrage wie neun geteilt durch sieben geben? Wie genau muss ein Spieler sein? Da eine Frage wie diese ein bisschen darüber hinaus ist, wird der Umfang dieses einfachen Projekts eine Lösung am Ende des Videos implementieren. Auf diese Weise, diejenigen von euch, die versuchen wollen, eine Lösung für euch selbst zu erarbeiten, zerknirschen seine Hausaufgaben und diejenigen von euch, die nur eine Antwort sehen wollen, werden nicht mit 1/2 Arbeitsprojekt für jetzt übrig bleiben . Wenn der Spieler falsch ist, könnten wir einen Punkt machen, um ihnen die vollständige richtige Antwort zu zeigen. Auf diese Weise gibt es am wenigsten wissen, ob es ein Präzisionsproblem ist oder ob sie tatsächlich falsch waren zurück zum Hauptspiel, was würde das Stück als nächstes sehen wollen? Nun, eine einzige Frage macht nicht viel Spaß. Wenn ich also spielen würde, würde ich eine andere Frage sehen wollen. Dies ist wahrscheinlich der einfachste Schritt von allen. Wir wickeln einfach alles, was wir bisher gemacht haben, in eine Schleife für jetzt wird es demonstrieren, mit nur zu ihm orations. Und es stellt mehr als eine Frage. Es funktioniert also. Das letzte, was ich sehen möchte, ist meine Punktzahl. Dafür brauchen wir zwei Dinge. Wie viele Fragen gab es insgesamt? Und wie viele davon habe ich bekommen? Richtig. Die Gesamtzahl der Fragen ist einfach zu ergänzen, was wir bereits haben. Wir fügen einfach eine Konstante am Anfang hinzu und stellen sicher, dass sie von der Schleife verwendet wird, um zu bestimmen, wie viele Fragen stellen. Ich bemerkte, dass, wenn wir unsere neue Variable ändern, die Gesamtzahl der gestellten Fragen ändert sich, um die zweite Information für die Anzeige der Partitur zu entsprechen . Wie oft war es richtig zu spielen? Benötigt Zwiebel, winziges bisschen mehr Aufwand, um mit der Verwendung zu beginnen. Es hat keine richtigen Antworten, daher fügen wir oben eine Nullzweifelvariable hinzu. Dann ändert sich dieser Wert nur einmal, und das ist hier. Wenn die beiden Tanten mit diesen beiden Informationen übereinstimmen,können wir eine Drucklinie wie diese schreiben, wo wir dem Benutzer ihre Rohschule zeigen. Wenn die beiden Tanten mit diesen beiden Informationen übereinstimmen, Und dann können wir am Ende auch einen Prozentsatz hinzufügen, damit sie es nicht für sich selbst ausarbeiten müssen . Und das war's. Nun, fast. Lassen Sie uns die flexiblere Methode zum Vergleichen von Antworten hinzufügen, die ich vor einiger Zeit versprochen habe . Ich werde diesen Abschnitt beschleunigen, damit du nicht zusehen musst, wie alles ausgeschrieben wird. In der Zwischenzeit eine kurze Erklärung. Wenn wir eine Antwort von der anderen subtrahieren, unabhängig davon, welche größer oder korrekt ist, und dann das Ergebnis positiv machen. Wir haben den absoluten Unterschied zwischen diesen beiden Zahlen, aber woher wissen wir, wann dieser Unterschied zu groß ist? Nun, wir hatten einen Toleranzbegriff und vergleichende. Es ist, dass hier einige Demo-Ausgaben zeigen, dass es wie erwartet funktioniert. Beachten Sie, wie die Bestellung keine Rolle spielt. Die ersten 2 sind viel zu verschieden voneinander, um als korrekt angesehen zu werden, und die zweite, die sich nur innerhalb dieses Toleranzbereichs befinden. Also kehrten sie wahr zurück. Beachten Sie, wie wir auch die Toleranz ändern können, und plötzlich benötigen Sie viel mehr oder weniger Genauigkeit. Mit dieser Hilfe eine Methode getan. Wir müssen nur den alten Vergleich ersetzen. Lassen Sie uns es mit unseren neuen Änderungen ausführen und geben Sie es absichtlich zu schließen, aber nicht ganz richtige Antwort. Und da ist es, ein toleranteres Quizspiel. Also Zeit für Hausaufgaben. Fangen wir mit dem einfachen Zeug an. Zuerst möchte ich, dass Sie das Programm ändern, so dass der Benutzer wählen kann, wie viele Fragen eram Anfang beantworten möchten, oder geben Sie am Anfang beantworten möchten, ihnen die Möglichkeit, früh zu beenden, so dass ihre einzige Punktzahl auf dem, was sie bisher getan haben oder beides tun. Wenn du es wirklich willst. Und für diejenigen von Ihnen, die für mehr eine Herausforderung jucken, können Sie versuchen, diese Spielschleife zu ändern, so dass anstatt ein konsul Spiel, Sie haben ein klebriges Spiel, das Sie verwenden können TK Enter oder ein anderes u I Modul, das Sie mögen, nicht schlecht fühlen für das nicht zu tun. Jedoch. Ich persönlich mag dich nicht. Ich arbeite überhaupt in Python. Und das ist, Ah, Ah, voll funktionsfähiges mathematisches Quiz-Spiel von Grund auf neu geschrieben und Python, das Sie buchstäblich verwenden könnten , um alle Personen arithmetisches Wissen zu testen. 6. Zusammenfassung und Feedback: Jetzt, da das Programm fertig ist, lassen Sie uns schnell die Hauptstrukturen des Projekts überarbeiten. Unser Spiel kann mathematische Fragen mit berechnen, Antwort lösen . Generieren Sie zufällige Fragen mit Generate Question die Seite einer bestimmten Arterien genau genug, mit der ist genau genug Methode und mischen Sie alle der oben genannten in einer einzigen Spielschleife mit Riel-Spielerinteraktionen. Sie können Ihre eigenen Versionen des Spiels als Kursprojekt einreichen. Teilen Sie uns mit, welche Änderungen Sie vorgenommen haben und warum oder wie Sie die verschiedenen Hausaufgabenfragen angehen. Wenn Sie Ihre Sachen wirklich kennen, haben Sie eine gute machen das ganze Projekt objektorientierter oder einfach nur zum Spaß. Spielen Sie eine Runde Code-Golf und versuchen Sie, das Projekt in so wenige Zeilen wie möglich zu verkleinern. Danke fürs Zuschauen. Wir hoffen, dass Sie so viele beschützen genossen. In diesem Sinne versuchen wir ständig, unsere Kurse zu verbessern, damit Ihr Feedback von unschätzbarem Wert ist. Bitte zögern Sie nicht, Kommentare zu hinterlassen oder Nachrichten darüber zu senden, was Sie auf dem, was Sie denken, dass wir besser gemacht. Zum Beispiel, sollte ich schneller oder langsamer gehen? Möchten Sie mehr oder weniger detaillierte Erklärungen? War das Projekt zu einfachen etcetera? Wir sind auch daran interessiert zu wissen, welche Art von vielen Projekten Sie als nächstes sehen möchten und bis zum nächsten Mal bis zum nächsten Mal