[PYTHON] Je veux visualiser où et combien de personnes se trouvent dans l'usine

introduction

Apparemment, lorsqu'on travaille dans une usine, il peut être difficile de savoir où et combien de personnes se trouvent. Dans ce cas, même si la machine s'arrête, il semble qu'il n'est pas possible de savoir si elle s'est arrêtée par manque de personnel ou si la machine s'est arrêtée en raison d'une anomalie. Alors, visualisons facilement où et combien de personnes se trouvent dans l'usine.

Faire un aménagement d'usine

Exprimons la disposition initiale de l'usine dans une disposition en deux dimensions. Il l'écrit également dans un fichier csv (data.csv) afin que vous puissiez le modifier ultérieurement.

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)
#Résultat d'exécution
0:000000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000000

Placement initial

L'image est que les travailleurs le feront sur leurs smartphones lorsqu'ils arriveront sur les lieux avant de commencer le travail à l'usine. Tout d'abord, lisez data.csv sous forme de valeur numérique. Demandez aux travailleurs d'utiliser l'entrée standard pour entrer où ils commenceront à travailler (comme Aiue avec ce code). Créez une fonction qui incrémente le nombre de personnes à l'endroit que vous avez entré. Utilisez la fonction pour exécuter le processus. Enfin, écrivez ce contenu traité dans data.csv et mettez à jour data.csv.

start_arran.py


landmap=[list(map(int,line.rstrip().split(","))) for line in open('data.csv').readlines()]
import csv
a = input('Où es-tu')
def start_where(s):
    if 'UNE' in s:
        landmap[0][0] +=1
    elif 'je' in s:
        landmap[0][5] +=1
    elif 'C' in s:
        landmap[0][10] +=1
    elif 'ré' in s:
        landmap[0][15] +=1
    elif 'Oh' in s:
        landmap[0][20] +=1
    elif 'Puissance' 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 'Un service' 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 'Alors' 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)
#Résultat d'exécution
Où es-tu
0:000000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000001

Où es-tu
0:100000000000000000000
1:000000000000000000000
2:000000000000000000000
3:000000000000000000000
4:000000000000000000001

Où es-tu
0:100000000000000000000
1:000000000000000000000
2:000000000010000000000
3:000000000000000000000
4:000000000000000000001

Déplacer le placement

Dans une usine, nous déplaçons parfois le placement, et à cause de cela, nous pouvons ne pas savoir où et combien de personnes sont placées, nous allons donc réfléchir à ce qu'il faut faire lorsque nous déménagerons le lieu. Diminuez le nombre de personnes à l'endroit où vous vous trouviez de -1 et augmentez le nombre de personnes dans le lieu nouvellement déplacé de +1.

move.py


landmap=[list(map(int,line.rstrip().split(","))) for line in open('data.csv').readlines()]
import csv
a = input('Où es-tu?')
b = input('Où allez-vous')
def now_where(s):
    if 'UNE' in s:
        landmap[0][0] -=1
    elif 'je' in s:
        landmap[0][5] -=1
    elif 'C' in s:
        landmap[0][10] -=1
    elif 'ré' in s:
        landmap[0][15] -=1
    elif 'Oh' in s:
        landmap[0][20] -=1
    elif 'Puissance' 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 'Un service' 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 'Alors' in s:
        landmap[4][20] -=1
    else:
      print('error')

def move(s):
    if 'UNE' in s:
        landmap[0][0] +=1
    elif 'je' in s:
        landmap[0][5] +=1
    elif 'C' in s:
        landmap[0][10] +=1
    elif 'ré' in s:
        landmap[0][15] +=1
    elif 'Oh' in s:
        landmap[0][20] +=1
    elif 'Puissance' 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 'Un service' 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 'Alors' 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)
#Résultat d'exécution
Où es-tu? UNE
Où allez-vous Ko
0:000000000000000000000
1:000000000000000000000
2:000000000010000000001
3:000000000000000000000
4:000000000000000000001

Résumé

C'est un code très simple et sale, mais j'ai dessiné un programme qui vous permet de savoir où et combien de personnes se trouvent dans l'usine.

Ce que vous voulez être un plus

Chaque capacité du travailleur est résumée dans Excel, etc. en 5 étapes à l'avance, et comme la position de A nécessite un total de N capacités de hoge, M. A et M. B sont automatiquement attribués. En conséquence, si le nombre de personnes est insuffisant et qu'une alerte apparaît, il serait intéressant de créer un algorithme qui change automatiquement les effectifs en augmentant la capacité requise du lieu de + N.

Recommended Posts

Je veux visualiser où et combien de personnes se trouvent dans l'usine
Je veux analyser les sentiments des gens qui veulent se rencontrer et trembler
Je veux afficher la progression en Python!
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
Je veux remplacer les variables dans le fichier de modèle python et le produire en masse dans un autre fichier
[Notes] ① Obtenez et enregistrez des tweets ~ Je veux identifier les tweets d'actualité qui seront diffusés ~
J'ai essayé d'illustrer le temps et le temps du langage C
Comment obtenir toutes les clés et valeurs du dictionnaire
Je veux connaître la nature de Python et pip
Je veux rendre le type de dictionnaire dans la liste unique
Je veux compter des valeurs uniques dans un tableau ou un tuple
Je souhaite mapper le code EDINET et le numéro de valeur
Je veux aligner les nombres valides dans le tableau Numpy
Je ne voulais pas écrire la clé AWS dans le programme
J'ai essayé de résumer ce que l'homme fort de python fait dans le quartier des professionnels de la compétition
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Comment donner et signifier l'option des contraintes dans scipy.optimize.minimize
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
Je veux créer un fichier pip et le refléter dans le menu fixe
J'ai résumé comment changer les paramètres de démarrage de GRUB et GRUB2
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Je veux réussir le test G dans un mois Jour 1
Comment visualiser où se produit une mauvaise classification dans la classification de l'analyse des données
Je veux connaître la population de chaque pays du monde.
Les gens mémorisent les connaissances acquises dans le cerveau, comment mémoriser les connaissances acquises dans l'apprentissage automatique
Comment afficher les octets de la même manière en Java et Python
Je veux épingler Spyder à la barre des tâches
Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib
Je veux sortir froidement sur la console
Je veux imprimer dans la notation d'inclusion
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
Je souhaite séparer le traitement entre le temps de test et l'environnement de production
J'ai essayé de résumer les méthodes qui sont souvent utilisées lors de l'implémentation d'algo de base dans Quantx Factory
Comment écrire le bon shebang dans les scripts Perl, Python et Ruby
Je veux gérer la rime part1
Je veux savoir comment fonctionne LINUX!
[Langage C] Je souhaite générer des nombres aléatoires dans la plage spécifiée
Je veux gérer la rime part3
Comment obtenir la différence de date et d'heure en secondes avec Python
Comment comparer si le contenu des objets dans scipy.sparse.csr_matrix est le même
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je souhaite trier une liste dans l'ordre des autres listes
Je souhaite utiliser Django Debug Toolbar dans les applications Ajax
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Je veux afficher la barre de progression
Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
Je veux intégrer Matplotlib dans PySimpleGUI
Comment utiliser is et == en Python
J'ai implémenté le modèle VGG16 avec Keras et essayé d'identifier CIFAR10
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux obtenir le chemin du répertoire où le fichier en cours d'exécution est stocké.
Je souhaite visualiser l'état des transferts de la J League 2020, que dois-je faire?
Comment passer le chemin vers la bibliothèque construite avec pyenv et virtualenv avec PyCharm