本文目录导读:

我来为你提供一个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()
使用方法
- 方案一:快速统计已知的角球数据
- 方案二:模拟真实比赛,记录每个角球事件
- 方案三:批量分析多场比赛的角球数据
- 方案四:实时交互式追踪角球
这些代码案例可以帮助你:
- 统计足球比赛中的角球数
- 比较两队角球数量
- 判断哪队角球领先
- 进行数据分析和可视化
你可以根据自己的具体需求选择合适的方案使用。