


Idées pour concevoir un programme de calendrier de ligue de football en Python
Le système de compétition de la ligue de football est qu'une équipe affronte des équipes autres qu'elle-même dans la ligue une fois à domicile et à l'extérieur au cours d'une saison. Nous pouvons utiliser un algorithme de boucle pour y parvenir. Ensuite, jetons un coup d'œil aux idées Python. et des exemples simples de mise en œuvre pour concevoir un programme de calendrier de ligue de football :
Chaque année, les calendriers des ligues majeures de Serie A, Bundesliga, Premier League et La Liga sont un incontournable pour les fans, je pense. paragraphe que j'ai écrit auparavant pour générer un planning, c'est tellement confortable d'écrire ce genre de choses en Python.
Cet algorithme s'appelle l'algorithme de l'anneau de serpent.
C'est-à-dire disposer toutes les équipes en anneau (2 colonnes), côté gauche contre côté droit, la première équipe ne bouge pas, et les autres équipes circulent dans le sens des aiguilles d'une montre, pour qu'il n'y ait pas de répétition.
Pour faciliter l'explication, supposons qu'il y a 8 équipes a à h. Disposez en cercle comme indiqué ci-dessous.
De cette façon, le match du premier tour est, (a,h)(b,g)(c,f)(d,e) .
Au tour suivant, la première équipe a ne bouge pas, et les autres équipes se déplacent d'une case dans le sens des aiguilles d'une montre comme des engrenages.
De cette façon, le match du deuxième tour est, (a,b)(c,h)(d,g)(e,f) .
Les engrenages continuent de glisser jusqu'à revenir au point de départ, de sorte que chaque équipe joue contre les 7 autres équipes.
Mille mots valent un mètre. Prenons l'exemple de la Premier League.
from collections import deque import random def build_schedule(_teamarr): scheduleobj = dict.fromkeys(range(1,20)) fixpos = _teamarr[0] ring = _teamarr[1:] ring = deque(ring) #前半赛程,1-19轮(round) for round in range(1,20): #第1支球队不动,再加上轮转(rotate)的环 teams = [fixpos] + list(ring) #切成2列,左边主队,右边客队 home, away = teams[:len(teams)/2],teams[len(teams)/2:] away = away[::-1] #随机打乱主客队 scheduleobj[round] = [(x,y) if random.random()>=0.5 else (y,x) for x,y in zip(home,away)] ring.rotate(1) #后半赛季对阵跟前半赛季一样,但主客队对调 for round in range(20,39): scheduleobj[round] = [(y,x) for x,y in scheduleobj[round-19]] return scheduleobj if __name__ == '__main__': teamarr = [u'曼联', u'阿斯顿维拉', u'切尔西', u'西汉姆', u'富勒姆', u'热刺', u'利物浦', u'南安普顿', u'埃弗顿', u'诺维奇', u'纽卡斯尔', u'曼城', u'斯托克城', u'桑德兰', u'水晶宫', u'西布罗姆维奇', u'阿森纳', u'赫尔城', u'卡迪夫城', u'斯旺西'] scheduleobj = build_schedule(teamarr) print u'---联赛第1轮---' for h,a in scheduleobj[1]: print u'{}-{}'.format(h,a) print u'---联赛第2轮---' for h,a in scheduleobj[2]: print u'{}-{}'.format(h,a)
Pour plus d'idées sur la conception de programmes de calendrier de ligue de football en Python, veuillez prêter attention au site Web PHP chinois !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Fastapi ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...
