- 用来实现其中空心部分
- 用来实现底部的实心部分
- 使用正弦函数和正切函数合成的曲线来绘制
import math
def comparefu2(x, y):
var3 = abs(y) - 0.65 * x * x
return var3 >= 0.2
def camparefu1(x, y):
H = 3
var1 = math.sqrt(x * x + y * y) - H * math.sin(2 * math.atan(y / x))
var2 = math.sqrt(x * x + y * y) - H * math.sin(2 * math.atan(-y / x))
return abs(var1) <= 1 or abs(var2) <= 1
def printstar(y, stepy, comparefun):
while (y <= 0):
x = -4
while (x <= 4):
if comparefun(x, y):
print("*", end='')
else:
print(" ", end='')
x += 0.2
y += stepy
print("")
printstar(-4, 0.2, camparefu1)
printstar(-1, 0.2, comparefu2)
输出的结果