gpt4 book ai didi

Python- 为什么 'except VauleError' 行不中断 while 循环?

转载 作者:行者123 更新时间:2023-11-28 22:37:43 24 4
gpt4 key购买 nike

我用的是windows系统的Ipython Notebook,python版本是2.7

df 是 pandas DataFrame,仅包含 4 个超出该负载范围的值。据我了解,'except VauleError' 将仅执行 4 次。但是为什么下面的代码将继续无休止地执行“except ValueError”行和“print amp_p,amp_n”?我不知道为什么,但最后我在 'print amp_p,amp_n' 之后添加了 'break' 然后它就起作用了。据我了解,“除了 ValueError”应该能够打破 while 循环。

import numpy as np
from scipy import interpolate
import PitchBearing_wohler as pw
load = np.linspace(-8000,8000,num=10,endpoint=True)
result=pd.read_csv('result.csv',header=None)
result[0]
SCF=3.
D=0.
srf=1
f=interpolate.interp1d(load,result[0])
for col in df.columns:
for ind in df.index:
cycle=df[col][ind]
if cycle==0.:
pass
else:
amp_p=float(col)/2.+float(ind)
amp_n=float(ind)-float(col)/2.
while True:
try:
range_new=f(amp_p)-f(amp_n)
mean_new=(f(amp_p)+f(amp_n))/2
break
except ValueError:
print amp_p,amp_n,cycle
#break # Added after I found the while loop won't break

最佳答案

这是因为您的 try-catch block 仍在 while 循环的范围内。相反,您应该将 while 循环放在 try block 中。

关于Python- 为什么 'except VauleError' 行不中断 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36249008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com