我正在编写一些代码,它采用两个数据列表x_list
和y_list
,这两个数据具有给定数量的条目i
。
这些列表用于目标查找计算,以收集两个列表中count
个条目数的变量STW
。
然而,这段代码无法运行(我猜是因为它的CPU太重了(。以下是代码的简化版本:
top = []
mid = []
bot = []
i = 0
while True:
goal_seek = 0
while True:
goal_seek_top = (x_list[i] * (y_list[i] * goal_seek)
goal_seek += 0.001
if goal_seek_top >= 1:
top.append(goal_seek_top)
goal_seek = 0
while True:
goal_seek_mid = (x_list[i] * (y_list[i] * goal_seek)
goal_seek += 0.001
if goal_seek_mid >= 1:
mid.append(goal_seek_mid)
goal_seek = 0
while True:
goal_seek_bot = (x_list[i] * (y_list[i] * goal_seek)
goal_seek += 0.001
if goal_seek_mid >= 1:
bot.append(STW_bot)
i += 1
if i == count:
break
有没有一种方法可以简化这段代码,使其运行更流畅?
这能回答您的问题吗?
top = []
mid = []
bot = []
i = 0
while True:
global i
goal_seek = 0
goal_seek_top = (x_list[i] * (y_list[i] * goal_seek)
goal_seek_mid = (x_list[i] * (y_list[i] * goal_seek)
goal_seek_bot = (x_list[i] * (y_list[i] * goal_seek)
if goal_seek_top >= 1:
top.append(goal_seek_top)
break
elif goal_seek_mid >= 1:
mid.append(goal_seek_mid)
break
elif goal_seek_bot >= 1:
bot.append(STW_bot)
break
else:
goal_seek += 0.001
# I dont know what i is doing so I suggest you change your break statement as given in the if statement above.
i += 1
if i == count:
break