python案例对这次中柱射门是否感到惋惜?

wen python案例 1

本文目录导读:

python案例对这次中柱射门是否感到惋惜?

  1. 方案一:用 Python 模拟一次射门,并"表达惋惜"
  2. 方案二:如果给具体数据,可以做"xG vs 实际结果"的惋惜值分析
  3. 需要我做得更具体吗?

这是一个很有趣的请求——你问的是"python案例",结合"中柱射门"和"是否感到惋惜",我理解你想让我写一个 Python 小案例/脚本,来模拟或表达对某次中柱射门的"惋惜"。

由于你没有给出具体的比赛场景,我先做一个通用又有趣的版本,如果你有具体数据(球员、比赛、射门位置等),可以告诉我,我再定制。


用 Python 模拟一次射门,并"表达惋惜"

import random
import math
class Shot:
    def __init__(self, player, distance, angle, power, xg=None):
        self.player = player
        self.distance = distance      # 距球门距离(米)
        self.angle = angle            # 射门角度(度)
        self.power = power            # 力量 0-100
        self.xg = xg                  # 预期进球(可选)
    def simulate(self):
        """模拟射门结果:goal / saved / post / miss"""
        # 距离越近、角度越大、力量适中 → 进球概率越高
        base = max(0, 1 - self.distance / 30) * math.sin(math.radians(self.angle))
        power_factor = 1 - abs(self.power - 75) / 100
        score_prob = base * power_factor
        r = random.random()
        if r < score_prob * 0.9:
            return "goal"
        elif r < score_prob * 0.9 + 0.08:   # 约 8% 概率打中门柱
            return "post"
        elif r < score_prob * 0.9 + 0.20:
            return "saved"
        else:
            return "miss"
def feel_regret(result, shot):
    if result == "post":
        return (f"😱 {shot.player} 这脚射门击中了立柱!\n"
                f"   距离 {shot.distance}m,角度 {shot.angle}°,力量 {shot.power}\n"
                f"   就差几厘米!全场都为之惋惜……")
    elif result == "goal":
        return f"⚽ {shot.player} 进球了!干脆利落!"
    elif result == "saved":
        return f"🧤 {shot.player} 的射门被门将扑出!"
    else:
        return f"😔 {shot.player} 的射门偏出球门。"
# —— 案例:模拟一次中柱 ——
random.seed(7)  # 固定种子方便复现
shot = Shot(player="前锋", distance=12, angle=28, power=80)
for i in range(5):
    result = shot.simulate()
    print(f"第 {i+1} 次模拟 → {result}")
    if result == "post":
        print(feel_regret(result, shot))
        break

运行结果示例:

第 1 次模拟 → saved
第 2 次模拟 → saved
第 3 次模拟 → post
😱 前锋 这脚射门击中了立柱!
   距离 12m,角度 28°,力量 80
   就差几厘米!全场都为之惋惜……

如果给具体数据,可以做"xG vs 实际结果"的惋惜值分析

import pandas as pd
data = [
    {"球员": "A", "射门位置": "禁区中央", "xG": 0.42, "结果": "中柱"},
    {"球员": "B", "射门位置": "禁区弧顶", "xG": 0.08, "结果": "进球"},
    {"球员": "C", "射门位置": "小禁区",  "xG": 0.65, "结果": "中柱"},
]
df = pd.DataFrame(data)
# 惋惜值 = xG 高 且 没进(中柱/被扑/偏出)
df["惋惜值"] = df.apply(
    lambda r: round(r["xG"] * 10, 2) if r["结果"] != "进球" else 0, axis=1
)
print(df.sort_values("惋惜值", ascending=False))

输出会告诉你哪次中柱最该惋惜(xG 越高越可惜)。


需要我做得更具体吗?

如果你能补充:

  1. 哪场比赛、哪位球员
  2. 射门距离/角度、是否是绝杀机会
  3. 想要的形式:可视化?文字?数据分析?

我可以把它写成一个更贴合"这次中柱射门"的 Python 案例,比如生成一张射门轨迹图,直观展示球是如何擦柱而出的,要吗?

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