python - 我的函数返回一个空列表,我不明白为什么?
问题描述
我正在编写一个文件重叠函数,它接受两个参数:longestFile 和 shortFile。我想看看两个文件是否有相同的数字,如果有,它会将该数字附加到一个空列表中。这些是我用于程序的两个列表: 我用来比较的第一个文件和我使用的第二个文件
def longestFile(firstFile, secondFile):
if len(firstFile)>len(secondFile):
return firstFile
else:
return secondFile
def shortestFile(firstFile, secondFile):
if len (firstFile) < len(secondFile):
return firstFile
else:
return secondFile
def middleNumber(theLongestFile):
return theLongestFile[len(theLongestFile)//2]
def fileOverlap(lstFirstFile,lstSecondFile):
lstMatchingNums = []
lstLongerFile = longestFile(lstFirstFile,lstSecondFile)
lstShortestFile = shortestFile(lstFirstFile,lstSecondFile)
for eachLines in range(len(lstShortestFile)):
lstLongerFile = longestfile(lstFirstFile,lstSecondFile)
for eachLine in range(len(lstLongerFile)):
if lstShortestFile[eachLines] == middleNumber(lstLongerFile):
lstMatchingNums.append(lstShortestFile[eachLines])
break
elif lstShortestFile[eachLines] < middleNumber(lstLongerFile):
lstLongerFile = lstLongerFile[0:len(lstLongerFile)//2+1]
if len(lstLongerFile) <= 2 and lstLongerFile[0] == lstShortestFile[eachLines]:
lstMatchingNums.append(lstShortestFile[eachLines])
break
elif middleNumber(lstLongerFile) != lstShortestFile[eachLines] and len(lstLongerFile) <=2:
break
elif lstShortestFile[eachLines] > middleNumber(lstLongerFile):
lstLongerFile = lstLongerFile[len(lstLongerFile)//2:]
if len(lstLongerFile) <= 2 and lstLongerFile[0] == lstShortestFile[eachLines]:
lstMatchingNums.append(lstShortestFile[eachLines])
break
elif middleNumber(lstLongerFile) != lstShortestFile[eachLines] and len(lstLongerFile) <= 2:
break
return lstMatchingNums
lstHappyNums = open('happynumbs.txt','r')
lstReadingHappyLines = lstHappyNums.readlines()
lstHappyNums.close()
lstPrimeNumsFile = open('primenumbers.txt','r')
lstReadingPrimeLines = lstPrimeNumsFile.readlines()
lstPrimeNumsFile.close()
print(fileOverlap(lstReadingHappyLines,lstReadingPrimeLines))
如果我要运行这个程序,它会给我一个空列表,我不知道为什么。
解决方案
推荐阅读
- zsh - 如何在zsh中用反引号引用字符串?
- curl - curl命令输出带有时间戳的文件名
- xaml - 如何在导航页面的导航栏部分放置图标
- c - 为什么不先分配指针取消引用就不起作用?
- sql - CLEARDB 中 where 和 like 的区别
- python-3.x - 使用 Python 打开 xls (xml)
- html - 如何添加一个功能以在不同元素中以不同方式工作
- c - 使用 MPI_Send 和 MPI_Recv 实现 MPI_Reduce 会导致错误的结果
- laravel - 全局变量不适用于 VueJS 和 Laravel
- java - 我可以使用 OkHttp3 客户端从 Amazon S3 预签名 URL 获取标头详细信息“Content-Length”吗?