Python으로 축구 리그 일정 프로그램을 설계하기 위한 아이디어
풋볼 리그의 경쟁 시스템은 팀이 한 시즌에 홈 및 원정에서 한 번 리그 내 다른 팀과 대결하는 것입니다. 이를 달성하기 위해 루프 알고리즘을 사용할 수 있습니다. 다음으로 Python Ideas를 살펴보겠습니다. 그리고 축구 리그 일정 프로그램 설계를 위한 간단한 구현 예시:
매년 세리에 A, 분데스리가, 프리미어 리그, 라 리가 등 메이저 리그의 일정은 팬들에게 꼭 봐야 할 작품이라고 생각합니다. 이전에 일정을 생성하기 위해 작성한 문단입니다. Python으로 이런 내용을 작성하는 것은 매우 편안합니다.
이 알고리즘을 스네이크 링 알고리즘이라고 합니다.
즉, 모든 팀을 링(2열)으로 배열하고 왼쪽이 오른쪽이 되도록 배치하고 첫 번째 팀은 움직이지 않고 나머지 팀은 시계 방향으로 순환하여 반복이 없도록 합니다.
설명의 편의를 위해 a부터 h까지 8개의 팀이 있다고 가정합니다. 아래와 같이 원형으로 배열합니다.
이렇게 1라운드 대결은 (a,h)(b,g)(c,f)(d,e) .
다음 라운드에서는 첫 번째 A팀은 움직이지 않고 나머지 팀들은 시계방향으로 기어처럼 움직입니다.
이렇게 2라운드의 대결은 (a,b)(c,h)(d,g)(e,f) .
기어는 시작점으로 돌아올 때까지 계속 미끄러지며 각 팀이 다른 7개 팀과 대결을 펼칩니다.
천 마디 말은 1야드의 가치가 있습니다. 프리미어리그를 예로 들어보겠습니다.
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)
Python으로 축구 리그 일정 프로그램을 설계하는 방법에 대한 더 많은 아이디어를 보려면 PHP 중국어 웹사이트에 주목하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

파이썬에서 문자열을 통해 객체를 동적으로 생성하고 메소드를 호출하는 방법은 무엇입니까? 특히 구성 또는 실행 해야하는 경우 일반적인 프로그래밍 요구 사항입니다.

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...
