我正在一个需要“返回”的函数中编写一个 if/else 语句。我想知道在哪里写'return'语句
def fun(flo, seg_len, interval):
data = []
if seg_len==int(seg_len):
new_ = [flo[i:i+segm_len] for i in range(0, len(flo)-len(flo) % seg_len , seg_len)]
for i in range(len(new)):
data.append(True)
print(data)
else:
print('False')
fun(flo , seg, interval )
答案 0 :(得分:1)
这取决于您希望函数的行为,但在这种情况下,返回值可能会放置在 if/else 级别(在函数执行应该执行的操作之后)。
def flow_rate_to_disorder_status(flow_rate, segment_len, interval, threshold):
disorder_status3 = []
if segment_len==int(segment_len):
new_flow_rate = [flow_rate[i:i+segment_len] for i in range(0, len(flow_rate)-len(flow_rate) % segment_len , segment_len)]
for i in range(len(new_flow_rate)):
disorder_status3.append(sym.has_symptom(new_flow_rate[i], interval, threshold))
print(disorder_status3)
else:
print('Corrupted input')
return
flow_rate_to_disorder_status(flow_rate, segment_len, interval, threshold)
答案 1 :(得分:1)
在您迭代并将所有值添加到disorder_status3 后只需返回。您可以放心地忽略 else,因为如果代码已经返回某些内容,则不会命中打印损坏的代码行。
if segment_len==int(segment_len):
new_flow_rate = [flow_rate...
for i in range(len(new_flow_rate)):
disorder_status3.append(sym.has_sym
return disorder_status3;
print('Corrupted input')