[PYTHON] Ich möchte visualisieren, wo und wie viele Leute in der Fabrik sind

Einführung

Anscheinend kann es bei der Arbeit in einer Fabrik schwierig sein zu wissen, wo und wie viele Menschen sind. Selbst wenn die Maschine anhält, scheint es in diesem Fall nicht möglich zu sein, festzustellen, ob sie aufgrund von Personalmangel angehalten hat oder ob die Maschine aufgrund einer Anomalie angehalten hat. Stellen wir uns also einfach vor, wo und wie viele Personen sich in der Fabrik befinden.

Erstellen Sie ein Werkslayout

Lassen Sie uns das ursprüngliche Layout der Fabrik in einem zweidimensionalen Layout ausdrücken. Es schreibt es auch in eine CSV-Datei (data.csv), damit Sie es später bearbeiten können.

init_map.py


import csv
landmap = [[0 for i in range(21)] for j in range(5)]
for i,line in enumerate(landmap):
    print(str(i) + ":", end="")
    for area in line:
        print(area, end="")
    print()
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(landmap)
#Ausführungsergebnis
0:000000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000000

Erstplatzierung

Das Bild ist, dass die Arbeiter dies auf ihren Smartphones tun, wenn sie am Ort ankommen, bevor sie mit der Arbeit in der Fabrik beginnen. Lesen Sie zunächst data.csv als numerischen Wert. Bitten Sie die Mitarbeiter, die Standardeingabe zu verwenden, um einzugeben, wo sie mit der Arbeit beginnen möchten (z. B. Aiue mit diesem Code). Erstellen Sie eine Funktion, die die Anzahl der Personen an dem von Ihnen eingegebenen Ort erhöht. Verwenden Sie die Funktion, um den Vorgang auszuführen. Schreiben Sie abschließend diesen verarbeiteten Inhalt in data.csv und aktualisieren Sie data.csv.

start_arran.py


landmap=[list(map(int,line.rstrip().split(","))) for line in open('data.csv').readlines()]
import csv
a = input('Wo sind Sie')
def start_where(s):
    if 'EIN' in s:
        landmap[0][0] +=1
    elif 'ich' in s:
        landmap[0][5] +=1
    elif 'C.' in s:
        landmap[0][10] +=1
    elif 'D.' in s:
        landmap[0][15] +=1
    elif 'Oh' in s:
        landmap[0][20] +=1
    elif 'Leistung' in s:
        landmap[2][0] +=1
    elif 'Ki' in s:
        landmap[2][5] +=1
    elif 'Ku' in s:
        landmap[2][10] +=1
    elif 'Ke' in s:
        landmap[2][15] +=1
    elif 'Ko' in s:
        landmap[2][20] +=1
    elif 'Bedienung' in s:
        landmap[4][0] +=1
    elif 'Shi' in s:
        landmap[4][5] +=1
    elif 'Su' in s:
        landmap[4][10] +=1
    elif 'Se' in s:
        landmap[4][15] +=1
    elif 'Damit' in s:
        landmap[4][20] +=1
    else:
      print('error')

start_where(a)
for i,line in enumerate(landmap):
    print(str(i) + ":", end="")
    for area in line:
        print(area, end="")
    print()
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(landmap)
#Ausführungsergebnis
Wo sind Sie
0:000000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000001

Wo sind Sie
0:100000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000001

Wo sind Sie
0:100000000000000000000
1:000000000000000000000
2:000000000010000000000
3:000000000000000000000
4:000000000000000000001

Platzierung verschieben

In einer Fabrik verschieben wir manchmal die Platzierung, und aus diesem Grund wissen wir möglicherweise nicht, wo und wie viele Personen platziert sind. Daher werden wir überlegen, was zu tun ist, wenn wir die Platzierung verschieben. Verringern Sie die Anzahl der Personen an dem Ort, an dem Sie sich befanden, um -1 und erhöhen Sie die Anzahl der Personen an dem neu verschobenen Ort um +1.

move.py


landmap=[list(map(int,line.rstrip().split(","))) for line in open('data.csv').readlines()]
import csv
a = input('Wo sind Sie?')
b = input('Wohin gehst du')
def now_where(s):
    if 'EIN' in s:
        landmap[0][0] -=1
    elif 'ich' in s:
        landmap[0][5] -=1
    elif 'C.' in s:
        landmap[0][10] -=1
    elif 'D.' in s:
        landmap[0][15] -=1
    elif 'Oh' in s:
        landmap[0][20] -=1
    elif 'Leistung' in s:
        landmap[2][0] -=1
    elif 'Ki' in s:
        landmap[2][5] -=1
    elif 'Ku' in s:
        landmap[2][10] -=1
    elif 'Ke' in s:
        landmap[2][15] -=1
    elif 'Ko' in s:
        landmap[2][20] -=1
    elif 'Bedienung' in s:
        landmap[4][0] -=1
    elif 'Shi' in s:
        landmap[4][5] -=1
    elif 'Su' in s:
        landmap[4][10] -=1
    elif 'Se' in s:
        landmap[4][15] -=1
    elif 'Damit' in s:
        landmap[4][20] -=1
    else:
      print('error')

def move(s):
    if 'EIN' in s:
        landmap[0][0] +=1
    elif 'ich' in s:
        landmap[0][5] +=1
    elif 'C.' in s:
        landmap[0][10] +=1
    elif 'D.' in s:
        landmap[0][15] +=1
    elif 'Oh' in s:
        landmap[0][20] +=1
    elif 'Leistung' in s:
        landmap[2][0] +=1
    elif 'Ki' in s:
        landmap[2][5] +=1
    elif 'Ku' in s:
        landmap[2][10] +=1
    elif 'Ke' in s:
        landmap[2][15] +=1
    elif 'Ko' in s:
        landmap[2][20] +=1
    elif 'Bedienung' in s:
        landmap[4][0] +=1
    elif 'Shi' in s:
        landmap[4][5] +=1
    elif 'Su' in s:
        landmap[4][10] +=1
    elif 'Se' in s:
        landmap[4][15] +=1
    elif 'Damit' in s:
        landmap[4][20] +=1
    else:
      print('error')


now_where(a)
move(b)
for i,line in enumerate(landmap):
    print(str(i) + ":", end="")
    for area in line:
        print(area, end="")
    print()
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(landmap)
#Ausführungsergebnis
Wo sind Sie? EIN
Wohin gehst du Ko
0:000000000000000000000
1:000000000000000000000
2:000000000010000000001
3:000000000000000000000
4:000000000000000000001

Zusammenfassung

Es ist sehr einfacher und schmutziger Code, aber ich habe ein Programm gezeichnet, mit dem Sie wissen, wo und wie viele Personen sich in der Fabrik befinden.

Was Sie ein Plus sein wollen

Jede Fähigkeit des Arbeiters wird in 5 Stufen im Voraus in Excel usw. zusammengefasst. Da für die Position von A insgesamt N Fähigkeiten von hoge erforderlich sind, werden Herr A und Herr B automatisch zugewiesen. Wenn die Anzahl der Personen nicht ausreicht und eine Warnung angezeigt wird, wäre es daher interessant, einen Algorithmus zu erstellen, der die Besetzung automatisch ändert, indem die erforderliche Kapazität des Ortes um + N erhöht wird.

Recommended Posts

Ich möchte visualisieren, wo und wie viele Leute in der Fabrik sind
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte R-Datensatz mit Python verwenden
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
[Notizen] ① Tweets abrufen und speichern ~ Ich möchte die Nachrichten-Tweets identifizieren, die verbreitet werden ~
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Ich möchte die Natur von Python und Pip kennenlernen
Ich möchte den Wörterbuchtyp in der Liste eindeutig machen
Ich möchte eindeutige Werte in einem Array oder Tupel zählen
Ich möchte den EDINET-Code und die Wertpapiernummer zuordnen
Ich möchte die gültigen Zahlen im Numpy-Array ausrichten
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
Ich habe versucht zusammenzufassen, was der Python-starke Mann in der professionellen Nachbarschaft des Wettbewerbs tut
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Geben und meinen Sie die Einschränkungsoption in scipy.optimize.minimize
LINEbot-Entwicklung möchte ich den Betrieb in der lokalen Umgebung überprüfen
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden
Ich möchte die zweite Zeile zum Spaltennamen in Pandas machen
Ich möchte den G-Test in einem Monat Tag 1 bestehen
Visualisierung, wo bei der Klassifizierung der Datenanalyse eine Fehlklassifizierung auftritt
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Menschen merken sich gelerntes Wissen im Gehirn, wie man gelerntes Wissen im maschinellen Lernen auswendig lernt
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Ich möchte Spyder an die Taskleiste anheften
Ich möchte die Farbe ändern, indem ich auf den Streupunkt in matplotlib klicke
Ich möchte kühl auf die Konsole ausgeben
Ich möchte in der Einschlussnotation drucken
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren
Ich möchte die Verarbeitung zwischen Testzeit und Produktionsumgebung trennen
Ich habe versucht, die Methoden zusammenzufassen, die häufig bei der grundlegenden Algo-Implementierung in Quantx Factory verwendet werden
So schreiben Sie den richtigen Shebang in Perl-, Python- und Ruby-Skripten
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte wissen, wie LINUX funktioniert!
[C-Sprache] Ich möchte Zufallszahlen im angegebenen Bereich generieren
Ich möchte mit dem Reim part3 umgehen
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
So vergleichen Sie, ob der Inhalt der Objekte in scipy.sparse.csr_matrix identisch ist
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte die Django Debug Toolbar in Ajax-Anwendungen verwenden
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich möchte Matplotlib in PySimpleGUI einbetten
Verwendung ist und == in Python
Ich habe das VGG16-Modell mit Keras implementiert und versucht, CIFAR10 zu identifizieren
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
So übergeben Sie den Pfad zu der mit pyenv und virtualenv mit PyCharm erstellten Bibliothek