Erstellen Sie eine App, die Schüler mit Python errät

Einführung

An der High School, auf die ich gehe, hat ein Mathematiklehrer Excel verwendet, um einen "Mann zu erraten, der Schüler errät", und er hat sie verwendet, um Schüler zu erraten. Deshalb habe ich eine verbesserte Version davon erstellt, indem ich Python erstellt habe.

Wie die Excel-Version funktioniert

  1. Wählen Sie die Schüler nach dem Zufallsprinzip aus und zeigen Sie sie auf dem Bildschirm an
  2. Wenn der Schüler in der Vergangenheit getroffen hat, wird die Zelle neben dem Namen rot
  3. Notieren Sie die Schüler, die getroffen haben (klar, wenn es eine Runde macht)

(Ich habe keine Erlaubnis vom Lehrer erhalten, daher werde ich auf Details verzichten.)

Verbesserung

  1. Die Schüler werden jedes Mal aus allen Schülern ausgewählt, und man muss beurteilen, ob sie einmal getroffen wurden oder nicht. → Schüler, die einmal getroffen haben, werden erst angezeigt, wenn sie eine Runde gemacht haben
  2. Der Lehrer zeichnet die betroffenen Schüler manuell durch Kopieren auf. → Aufnahme automatisieren

Zu implementierende Funktionen

  1. Anzeigename
  2. Fehlzeiten überspringen
  3. Liste zurücksetzen
  4. Liste anzeigen
  5. Verlauf anzeigen
  6. Verlauf löschen
  7. Aktualisieren Sie die Liste
  8. Konsole löschen

Programm

Der Typ, der den Studenten errät.py


import random
import pickle
import os
import sys
import datetime

name = None

if os.name == 'nt':
    os.system('cls')
elif os.name == 'posix':
    os.system('clear')

print("Informationen zur Verwendung finden Sie in der Hilfe")

while True:

    a = input('>')

    if a == "help":
        print("Enter----Anzeige des Namens\n"
              "pass-----Abwesende überspringen\n"
              "reset----Liste zurücksetzen\n"
              "ls-------Liste anzeigen\n"
              "history--Siehe Verlauf\n"
              "Klare Geschichte mit klarer am Ende\n"
              "setup----Aktualisieren Sie die Liste\n"
              "clear----Klar Konsole\n"
              "exit-----Ende")

    elif a == "ls":

        if name != None and name in list:
            list.remove(name)
            f = open('list.txt', 'wb')
            pickle.dump(list, f)
        if list == []:
            f = open("./list_raw.txt", "rb")
            list_raw = pickle.load(f)

            list = list_raw

            f = open('list.txt', 'wb')
            pickle.dump(list, f)

        f = open("./list.txt", "rb")
        list = pickle.load(f)
        for i in list:
            print(i)

    elif a == "reset":
        f = open("./list_raw.txt", "rb")
        list_raw = pickle.load(f)

        list = list_raw

        f = open('list.txt', 'wb')
        pickle.dump(list, f)
        name = None

    elif a == "clear":
        if os.name == 'nt':
            os.system('cls')
        elif os.name == 'posix':
            os.system('clear')

    elif a == "setup":

        if os.name == 'nt':
            os.system('cls')
        elif os.name == 'posix':
            os.system('clear')

        print("1)Textdatei mit einem beliebigen Dateinamen(*.txt)Ein ... kreieren.\n"
              "2)Drin\n1.Name\n2.Name\Hmm ·\Hmm ·\Hmm ·\Geben Sie n ein.\n"
              "3)setup>Geben Sie den Dateinamen nach ein.\n"
              "4)Geben Sie exit ein, um zu beenden.")

        while True:

            a = input("setup>")

            if a == "exit":
                if os.name == 'nt':
                    os.system('cls')
                elif os.name == 'posix':
                    os.system('clear')
                break

            else:

                if os.path.isfile(a):

                    f = open(a, "r")
                    list = []

                    for x in f:
                        list.append(x.rstrip("\n"))
                    f.close()

                    f = open('list.txt', 'wb')
                    pickle.dump(list, f)

                    f = open('list_raw.txt', 'wb')
                    pickle.dump(list, f)

                    history = []
                    f = open('history.txt', 'wb')
                    pickle.dump(history, f)

                else:
                    print("Bitte geben Sie den genauen Dateinamen ein.")

    elif a == "history":

        f = open("./history.txt", "rb")
        history = pickle.load(f)

        for i in history:
            print(i)

        f = open('history.txt', 'wb')
        pickle.dump(history, f)

    elif "history" in a and "clear" in a:

        f = open("./history.txt", "rb")
        history = pickle.load(f)

        history = []

        f = open('history.txt', 'wb')
        pickle.dump(history, f)

    elif a == "exit":
        sys.exit()

    elif a == "pass":
        pass

    elif a == "":
        if name == None:
            pass

        else:
            if name in list:
                list.remove(name)

            if list != None:
                f = open('list.txt', 'wb')
                pickle.dump(list, f)

            if list == []:
                f = open("./list_raw.txt", "rb")
                list_raw = pickle.load(f)

                list = list_raw
                f = open('list.txt', 'wb')
                pickle.dump(list, f)

    else:
        print(a + ":Befehl nicht gefunden")

    if a == "" or a == "pass":

        f = open("./list.txt", "rb")
        list = pickle.load(f)

        # print(list)

        name = random.choice(list)

        print(name)

        f = open("./history.txt", "rb")
        history = pickle.load(f)

        now = datetime.datetime.now()

        history.append(now.strftime('%m Monat%d Tag') + ":" + name)

        f = open('history.txt', 'wb')
        pickle.dump(history, f)

Einsatzbereit

  1. Erstellen Sie die folgenden Dateien im selben Verzeichnis wie das Programm  1.list.txt  2.list_raw.txt  3.history.txt  4.namelist.txt

2.namelist.txt Bearbeiten Sie wie folgt

namelist.txt


1.Yamada Taro
2.Hanako Yamada
  1. Führen Sie das Programm aus und führen Sie das Setup aus

Operationsszene

Screenshot from 2020-02-16 11-07-36.png Screenshot from 2020-02-16 11-07-39.png Screenshot from 2020-02-16 11-07-48.png Screenshot from 2020-02-16 11-07-53.png Screenshot from 2020-02-16 11-07-59.png Screenshot from 2020-02-16 11-08-30.png Screenshot from 2020-02-16 11-08-32.png Screenshot from 2020-02-16 11-08-34.png Screenshot from 2020-02-16 11-08-47.png

Zusammenfassung

Es ist schade, dass es nicht für jeden einfach ist, es zu benutzen, weil es CUI ist. Das heißt nicht, dass ich es zu einer GUI machen werde. (Ich kann es nicht schaffen, auch wenn ich es schaffen will, weil ich nicht die Fähigkeit habe zu entwerfen ...)

Ich habe aus irgendeinem Grund eine GUI-Version erstellt Erstellen Sie eine App, die Schüler mit einer Python-GUI-Version errät

Recommended Posts

Erstellen Sie eine App, die Schüler mit Python errät
Erstellen Sie eine App, die Schüler mit der Python-GUI-Version errät
Erstellen Sie eine englische Wort-App mit Python
Erstellen wir eine App, die OIDC mit Azure AD authentifiziert
Erstellen Sie schnell eine Excel-Datei mit Python #python
[Python] Erstellen Sie schnell eine API mit Flask
Erstellen Sie solche Testdaten mit Python (Teil 1)
Erstellen Sie eine Bildkompositions-App mit Flask + Pillow
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Erstellen Sie schnell einen API-Server mit Python + Falcon
[kotlin] Erstellen Sie eine App, die Fotos erkennt, die mit einer Kamera auf Android aufgenommen wurden
Erstellen Sie mithilfe der COTOHA-API eine App, die gut mit Berichten von Personen funktioniert
Erstellen Sie mit Python + Flask einen animierten lokalen GIF-Server
Erstellen Sie eine Umgebung mit virtualenv
Erstellen Sie eine API mit Django
Erstellen Sie ein 3D-GIF mit Python3
Ein Ei mit Python erstellen
Erstellen Sie ein Verzeichnis mit Python
Lassen Sie uns eine App erstellen, die ähnliche Bilder mit Python und Flask Part1 durchsuchen kann
Lassen Sie uns eine App erstellen, die ähnliche Bilder mit Python und Flask Part2 durchsuchen kann
Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
So führen Sie eine mit Python + py2app erstellte App aus, die mit Anaconda erstellt wurde
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Schneiden Sie ein Bild mit Python aus
Erstellen Sie eine Plotanimation mit Python + Matplotlib
Erstellen Sie Awaitable mit der Python / C-API
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe eine SMS mit Python gesendet
Erstellen Sie eine Altersgruppe mit Pandas
Zeichnen Sie eine Illustration mit Python + OpenCV
[Python] Mail mit Outlook senden
Erstellen Sie mit Python3 + Falcon eine REST-API, die die aktuelle Uhrzeit zurückgibt
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
Erstellen Sie eine App, die LINE jeden Morgen über das Wetter informiert
Erstellen Sie eine Anwendung, die nur mit der Google Custom Search-API mit Python 3.3.1 in Bottle sucht
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part 1
Erstellen Sie mit LINE Bot und Python Part 2 eine automatische Klassenverwaltungs-App für Tenho Private Room
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part ③
Erstellen Sie eine Anwendung, indem Sie mit Pygame klassifizieren
Erstellen Sie mit Class einen Python-Funktionsdekorator
[Python] Ein Programm, das Treppen mit # erstellt
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
Erstellen einer Bildaufteilungs-App mit Tkinter
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
Erstellen Sie mit Python + PIL ein Dummy-Image.
Onkel SES modernisiert die VBA-App mit Python
Hinweise beim Erstellen einer Umgebung mit Python
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Erstellen Sie eine einfache GUI-App in Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Erstellen Sie eine GUI-App mit Tkinter of Python