import math
import re
radius = 9000
height = 28209.83
num_points =8
data = "" # 创建一个空字符串来收集所有的坐标
for i in range(num_points):
angle = 2 * math.pi * i / num_points # 当前角度
x = radius * math.cos(angle) # x坐标
y = radius * math.sin(angle) # y坐标
z = height # z坐标
print(f"x={x:.2f}, y={y:.2f}, z={z:.2f}")
data += f"x={x:.2f}, y={y:.2f}, z={z:.2f}\n" # 将每个坐标添加到data字符串中
x_list = []
y_list = []
z_list = []
for line in data.split('\n'):
matches = re.findall(r'[-+]?\d*\.\d+|\d+', line) # 注意这里应该是\\d,或者使用原始字符串r'[-+]?\d*\.\d+|\d+'
#matches = re.findall(r'[-+]?\d*\.\d+|\d+', line)
if matches: # 检查是否有匹配的值
x, y, z = matches[:3]
x_list.append(float(x))
y_list.append(float(y))
z_list.append(float(z))
print(x_list)
print(y_list)
print(z_list)
#输出数据
"""
x=9000.00, y=0.00, z=28209.83
x=6363.96, y=6363.96, z=28209.83
x=0.00, y=9000.00, z=28209.83
x=-6363.96, y=6363.96, z=28209.83
x=-9000.00, y=0.00, z=28209.83
x=-6363.96, y=-6363.96, z=28209.83
x=-0.00, y=-9000.00, z=28209.83
x=6363.96, y=-6363.96, z=28209.83
[9000.0, 6363.96, 0.0, -6363.96, -9000.0, -6363.96, -0.0, 6363.96]
[0.0, 6363.96, 9000.0, 6363.96, 0.0, -6363.96, -9000.0, -6363.96]
[28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83, 28209.83]
"""
字符串处理借用notepad++