在python中没有通过函数或方法获得返回值



在这个程序中,我迭代函数并将结果添加到文件中,它工作得很好,没有任何问题,但是当我试图从上次调用的返回中获取值时,即使变量不是空的,它也不返回任何东西。因为else部分只运行一次。

#this is an ipynb file so spacing means they are getting executed from different blocks
def intersection(pre,i=0,point=0,count=0,result=dt):
index=-1
prefer=[]
# print(i)
if(0<i):
url = "../data/result.csv"
result= pd.read_csv(url,names=["a","b","c","d","e"])
if(i<len(pre)):
for j in result[pre[i]]:
index=index+1
if(demand[pre[i]][1] >= j):
prefer.append(result.iloc[index,:])
i=i+1
file = open('../data/result.csv', 'w+', newline ='')     
header = ["a","b","c","d","e"]
writer = csv.DictWriter(file, fieldnames = header)

# writing data row-wise into the csv file
writer.writeheader()

# writing the data into the file
with file:   
write = csv.writer(file)
write.writerows(prefer)
count=count+1
# print(prefer,count) print the outputs step by step
intersection(pre,i,point,count,result)
else:
print("Else Part",type(result))
print(result)
return result


#
pre=["a","b","c"]
rec=intersection(pre)
print(rec)

输出它打印其他部分的结果的所有值,我在快照中排除了它,因为它太大了,我在这里有几个字段,但它不会影响,对于我得到的问题…请回答,如果你知道我怎么能把结果值到recc。

OK。代码比我想象的要复杂一些。我刚才在试着破解它,结果碰到了一些bug。也许你能帮我弄清楚。

  1. 在函数调用中,没有定义def intersection(pre,i=0,point=0,count=0,result=dt):,dt。应该是什么呢?

  2. 在第四行,i<0-i的默认值为零,因此,除非在调用函数时给i一个值,否则这段代码将永远不会运行。

  3. 我注意到正在读取的文件和正在写入的文件是相同的:../data/result.csv-这是正确的吗?

  4. 第14行还有一个未定义的变量demand。你能填一下吗?

让我们看看我们在哪里。

相关内容

  • 没有找到相关文章