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.
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
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
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
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.
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