gpt4 book ai didi

python for循环只执行一次?

转载 作者:行者123 更新时间:2023-11-30 22:42:59 25 4
gpt4 key购买 nike

import numpy as np
def Vin(t):
inputs = []
for i in range (1000):
if (-1)**(np.floor( 2 * t[i] )) == 1:
Vin = (1)
inputs.append(Vin)
else:
Vin = (-1)
inputs.append(Vin)

return inputs

当我在一系列 t 值上使用此函数时,我只得到一个结果,

input1=Vin(tpoints)
print (input1)

仅给出 [1],而我希望该函数对每个 t 值执行此操作。

最佳答案

正如其他人所说,您的 return 语句中存在缩进错误。我忍不住以更Pythonic的方式重写你的代码,避免所有繁琐的循环和由此产生的错误:

return [1 if (-1)**(np.floor( 2 * t[i] )) == 1 else -1 for i in range (1000)]

该列表理解 + 三元构造语句在 1 行中创建 -1,1 数组,比使用循环编写要快得多。

关于python for循环只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41933378/

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