Python案例统计角球数哪边领先?

wen python案例 1

本文目录导读:

Python案例统计角球数哪边领先?

  1. 方案一:简单的角球统计程序
  2. 方案二:动态记录角球事件
  3. 方案三:批量处理多场比赛数据
  4. 方案四:实时角球统计脚本
  5. 使用方法

我来为你提供一个Python案例,用于统计足球比赛中哪一队的角球数领先。

简单的角球统计程序

def count_corners(corner_data):
    """
    统计角球数并判断哪队领先
    :param corner_data: dict,包含两队角球数据
    :return: str,领先情况
    """
    home_corners = corner_data.get('home', 0)
    away_corners = corner_data.get('away', 0)
    print(f"主队角球数: {home_corners}")
    print(f"客队角球数: {away_corners}")
    print("-" * 30)
    if home_corners > away_corners:
        return f"主队领先 {home_corners - away_corners} 个角球"
    elif away_corners > home_corners:
        return f"客队领先 {away_corners - home_corners} 个角球"
    else:
        return "角球数持平"
# 示例使用
match_data = {
    'home': 5,
    'away': 3
}
result = count_corners(match_data)
print(result)

动态记录角球事件

import time
from datetime import datetime
class FootballMatch:
    def __init__(self, home_team, away_team):
        self.home_team = home_team
        self.away_team = away_team
        self.home_corners = 0
        self.away_corners = 0
        self.corner_events = []
    def add_corner(self, team, minute):
        """
        记录一个角球事件
        :param team: 'home' 或 'away'
        :param minute: 比赛分钟数
        """
        if team == 'home':
            self.home_corners += 1
            team_name = self.home_team
        elif team == 'away':
            self.away_corners += 1
            team_name = self.away_team
        else:
            raise ValueError("球队必须是 'home' 或 'away'")
        event = {
            'time': datetime.now(),
            'minute': minute,
            'team': team_name
        }
        self.corner_events.append(event)
        print(f"⚽ 第{minute}分钟 - {team_name}获得角球!")
    def get_leader(self):
        """获取领先队伍"""
        if self.home_corners > self.away_corners:
            return f"{self.home_team}领先"
        elif self.away_corners > self.home_corners:
            return f"{self.away_team}领先"
        else:
            return "平局"
    def show_status(self):
        """显示当前角球统计"""
        print(f"\n📊 角球统计:")
        print(f"{self.home_team}: {self.home_corners}")
        print(f"{self.away_team}: {self.away_corners}")
        print(f"领先: {self.get_leader()}")
    def show_corner_history(self):
        """显示角球历史"""
        print(f"\n📝 角球记录:")
        for event in self.corner_events:
            print(f"第{event['minute']}分钟 - {event['team']}")
# 使用示例
match = FootballMatch("巴塞罗那", "皇家马德里")
# 模拟比赛中的角球
match.add_corner('home', 15)
match.add_corner('away', 28)
match.add_corner('home', 35)
match.add_corner('home', 42)
match.add_corner('away', 55)
match.add_corner('home', 78)
# 显示当前状态
match.show_status()
match.show_corner_history()

批量处理多场比赛数据

import pandas as pd
from typing import List, Dict
class CornerAnalyzer:
    def __init__(self):
        self.matches = []
    def add_match(self, home_team: str, away_team: str, 
                  home_corners: int, away_corners: int):
        """添加一场比赛的数据"""
        match = {
            'home_team': home_team,
            'away_team': away_team,
            'home_corners': home_corners,
            'away_corners': away_corners,
            'winner': self._determine_winner(home_corners, away_corners)
        }
        self.matches.append(match)
    def _determine_winner(self, home_corners: int, away_corners: int) -> str:
        """判断角球领先方"""
        if home_corners > away_corners:
            return "主队"
        elif away_corners > home_corners:
            return "客队"
        else:
            return "平局"
    def analyze_matches(self):
        """分析所有比赛数据"""
        if not self.matches:
            return "没有比赛数据"
        df = pd.DataFrame(self.matches)
        print("📊 角球统计分析报告")
        print("=" * 50)
        # 总体统计
        total_matches = len(df)
        home_wins = len(df[df['winner'] == '主队'])
        away_wins = len(df[df['winner'] == '客队'])
        draws = len(df[df['winner'] == '平局'])
        print(f"总比赛数: {total_matches}")
        print(f"主队领先: {home_wins} ({home_wins/total_matches*100:.1f}%)")
        print(f"客队领先: {away_wins} ({away_wins/total_matches*100:.1f}%)")
        print(f"平局: {draws} ({draws/total_matches*100:.1f}%)")
        print("-" * 50)
        # 平均角球数
        avg_home = df['home_corners'].mean()
        avg_away = df['away_corners'].mean()
        print(f"平均主队角球: {avg_home:.1f}")
        print(f"平均客队角球: {avg_away:.1f}")
        return df
# 使用示例
analyzer = CornerAnalyzer()
# 添加多场比赛数据
analyzer.add_match("巴萨", "皇马", 7, 3)
analyzer.add_match("利物浦", "曼联", 5, 5)
analyzer.add_match("尤文", "米兰", 4, 6)
analyzer.add_match("拜仁", "多特", 8, 2)
analyzer.add_match("巴黎", "马赛", 3, 4)
analyzer.add_match("阿森纳", "切尔西", 6, 5)
# 进行分析
results = analyzer.analyze_matches()
print("\n📋 详细数据:")
print(results)

实时角球统计脚本

def real_time_corner_tracker():
    """实时角球追踪器"""
    home_corners = 0
    away_corners = 0
    home_team = input("请输入主队名称: ")
    away_team = input("请输入客队名称: ")
    print(f"\n⚽ {home_team} vs {away_team}")
    print("按 'h' 记录主队角球")
    print("按 'a' 记录客队角球")
    print("按 's' 显示状态")
    print("按 'q' 退出\n")
    while True:
        command = input("输入命令: ").strip().lower()
        if command == 'h':
            home_corners += 1
            print(f"✅ {home_team}获得角球! [{home_corners}:{away_corners}]")
        elif command == 'a':
            away_corners += 1
            print(f"✅ {away_team}获得角球! [{home_corners}:{away_corners}]")
        elif command == 's':
            print(f"\n📊 当前比分:")
            print(f"{home_team}: {home_corners}")
            print(f"{away_team}: {away_corners}")
            if home_corners > away_corners:
                print(f"🏆 {home_team}领先!")
            elif away_corners > home_corners:
                print(f"🏆 {away_team}领先!")
            else:
                print("🤝 平局!")
            print()
        elif command == 'q':
            print("结束统计!")
            print(f"最终比分: {home_team} {home_corners} - {away_corners} {away_team}")
            break
        else:
            print("❌ 无效命令,请重试")
# 运行实时统计
if __name__ == "__main__":
    real_time_corner_tracker()

使用方法

  1. 方案一:快速统计已知的角球数据
  2. 方案二:模拟真实比赛,记录每个角球事件
  3. 方案三:批量分析多场比赛的角球数据
  4. 方案四:实时交互式追踪角球

这些代码案例可以帮助你:

  • 统计足球比赛中的角球数
  • 比较两队角球数量
  • 判断哪队角球领先
  • 进行数据分析和可视化

你可以根据自己的具体需求选择合适的方案使用。

抱歉,评论功能暂时关闭!