You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据Python Turtle画笔在靶盘上的位置计算对应得分?

实现思路
  • 你绘制的靶盘是圆心在(0, 100)的同心圆结构,从外到内各环的外沿半径分别为100/80/60/40/20,只需计算落点到圆心的欧氏距离,即可快速判定对应得分
  • 得分规则可按环从外到内依次设为2/4/6/8/10分,落点超出最外圈半径100时得0分,你也可以根据需求自行调整得分对应关系
完整实现代码
import turtle
import math

# 得分判定核心函数
def get_score(x, y):
    # 靶盘固定圆心坐标
    center_x, center_y = 0, 100
    # 计算落点到圆心的直线距离
    distance = math.sqrt((x - center_x)**2 + (y - center_y)**2)
    # 按距离匹配对应得分
    if distance <= 20:
        return 10
    elif distance <= 40:
        return 8
    elif distance <= 60:
        return 6
    elif distance <= 80:
        return 4
    elif distance <= 100:
        return 2
    else:
        return 0

# 鼠标点击触发函数,点击后直接输出得分
def on_click(x, y):
    score = get_score(x, y)
    print(f"落点坐标:({x:.2f}, {y:.2f}),本次得分:{score}")

# 原有靶盘绘制代码
turtle.color("black")
turtle.circle(100)
print(turtle.xcor(), turtle.ycor())
turtle.left(90)
turtle.penup()
turtle.forward(20)
turtle.right(90)
turtle.pendown()
turtle.begin_fill()
turtle.circle(80)
print(turtle.xcor(), turtle.ycor())
turtle.end_fill()
turtle.left(90)
turtle.penup()
turtle.forward(20)
turtle.right(90)
turtle.pendown()
turtle.color("blue")
turtle.begin_fill()
turtle.circle(60)
print(turtle.xcor(), turtle.ycor())
turtle.end_fill()
turtle.left(90)
turtle.penup()
turtle.forward(20)
turtle.right(90)
turtle.pendown()
turtle.color("red")
turtle.begin_fill()
turtle.circle(40)
print(turtle.xcor(), turtle.ycor())
turtle.end_fill()
turtle.left(90)
turtle.penup()
turtle.forward(20)
turtle.right(90)
turtle.pendown()
turtle.color("yellow")
turtle.begin_fill()
turtle.circle(20)
print(turtle.xcor(), turtle.ycor())
turtle.end_fill()
turtle.penup()
turtle.forward(20)
turtle.pendown()
turtle.color("green")
turtle.dot()
turtle.hideturtle()

# 绑定窗口点击事件,点击任意位置自动计算得分
turtle.onscreenclick(on_click)
turtle.done()
使用说明

运行代码后会弹出靶盘窗口,用鼠标点击窗口内任意位置,控制台就会输出对应落点的坐标和得分。如果需要做随机落点模拟测试,直接调用get_score(x, y)传入指定坐标即可得到对应得分。

内容的提问来源于stack exchange,提问作者Sebastian Llaurador

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:24:00