[PYTHON] Décidez pour qui voter par loterie

Aujourd'hui, c'est l'élection du gouverneur de Tokyo!

Cette année est déjà une course prête, et beaucoup de gens pensent que peu importe pour qui ils votent, et le taux de vote pourrait baisser.

https://www.amazon.co.jp/dp/4887597126 Les jeunes perdent 400000 yens parce qu'ils ne vont pas aux élections!? (Manuel de découverte) (Japonais) Nouveau livre

Il y a des livres, mais

Quand cela vient à Seuls ceux qui ont une base de soutien auront un avantage, En d'autres termes, ** la politique ennuyeuse continuera **, donc je veux vraiment voter.

Comme vous pouvez le voir dans les livres ci-dessus, s'il n'y a personne qui veut le choisir, vous pouvez le lancer et le choisir.

Mon but est

Parce que c'est.

Cependant, il y a des moments où il y a des gens qui ne veulent pas choisir même si personne ne veut choisir.

Donnez-moi une liste de candidats et ils choisiront l'un d'entre eux J'ai préparé un programme tel que.

given_lottery.py


import secrets
import sys

def draw_lots(data=None):
    if data is None:
        return -1
    
    lot_member = data.split(',')
    r = secrets.randbelow(len(lot_member))

    return lot_member[r]

if __name__ == '__main__':
    args = sys.argv
    print(draw_lots(args[1]))

C'est à peu près ça.

  1. Séparez les arguments par des virgules
  2. Sortie d'une valeur aléatoire de 0 au nombre d'éléments
  3. Si vous tirez la liste avec des valeurs aléatoires, le nom sera affiché

Ce sera un mouvement tel que.

** Addenda **

On m'a fait remarquer dans le commentaire qu'il existe une fonction de choix.

C'est pourquoi le refactoring.

import secrets
import sys

def draw_lots(data=None):
    if data is None:
        return -1
    
    return secrets.choice(data.split(','))

if __name__ == '__main__':
    args = sys.argv
    print(draw_lots(args[1]))
  1. Séparez les arguments par des virgules
  2. Sortie aléatoire du nom

C'était rafraîchissant.

Le fichier source est https://github.com/atworks/given-lottery Je l'ai mis.

plus tard

image.png

> python .\given_lottery.py a,b,c,d,e
e

Si vous passez les chaînes de caractères séparées par des virgules comme, sélectionnez-en une au hasard et affichez-la.

Je veux avoir une bonne vie électorale.

Recommended Posts

Décidez pour qui voter par loterie
Points ennuyeux pour ceux qui veulent présenter Ansible
Pour ceux qui veulent écrire Python avec vim
Comparez comment écrire le traitement des listes par langue
Pour ceux qui veulent afficher les images côte à côte dès que possible avec matplotlib de Python
Référence de référence pour ceux qui veulent coder avec Rhinoceros / Grasshopper
Note d'étude de problème à demander trop divisé par 1000000007
[Version 2020 pour les débutants] Méthode d'étude recommandée pour ceux qui souhaitent devenir eux-mêmes ingénieur en IA