#刷题交流# 第一次发刷题沸点,这样可以吗?
小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i的圆内,则得11-i分。如果射击点超出所有的环,则得0分。
刷题展示:import math
def solution(x: int, y: int) -> int:
# 计算到靶心的距离
distance = math.sqrt(x**2 + y**2)
# 根据距离判断得分
for i in range(1, 11):
if distance <= i:
return 11 - i
return 0 # 超出所有环,得0分
# 测试用例
if __name__ == '__main__':
print(solution(1, 0) == 10) # 位于半径为1的圆内
print(solution(1, 1) == 9) # 位于半径为2的圆内
print(solution(0, 5) == 6) # 位于半径为5的圆内
print(solution(3, 4) == 6) # 位于半径为5的圆内