我是Python新手,也许这不是什么大问题,它一直让我感到困惑。 如果我的 if 语句是 y > 0.9999,为什么输出中有 1.0
from math import sin, pi
X = []
Y = []
x = 0
y = 0
while True:
x += 1
X.append(x)
y = sin(x * pi / 180)
Y.append(y)
if y > 0.9999:
print(f"breaking on y = {y}")
break
print(f"sin {x} degree = {y}")
print(f"List X = {X}")
print(f"List Y = {Y}")
output:
sin 1 degree = 0.01745240643728351
sin 2 degree = 0.03489949670250097
...
sin 89 degree = 0.9993908270190958
sin 90 degree = 0.9998476951563913
breaking on y = 1.0
List X = [0, 1, 2,... 89, 90]
List Y = [0.01745240643728351, 0.03489949670250097,... 0.9998476951563913, 1.0]
ChatGPT 并不真正知道为什么我会得到这个输出,所以也许你们中的一些人知道。 如果我输入 >= 它没有帮助
因为您在 after 检查您的状况后打破了,请改为移动
Y.append(y)
after 测试/中断:
while True:
x += 1
X.append(x)
y = sin(x * pi / 180)
if y > 0.9999:
print(f"breaking on y = {y}")
break
Y.append(y)
print(f"sin {x} degree = {y}")