我是python的新手,我的作业很麻烦。我想从一个位置读取一个文件,并查看该文件中出现的数字的次数。我已经完成了您阅读文件并获取列表的位置。我还在程序中使用线性搜索来查找数字。但是,无论我做什么,我都会得到答案中的数字是否在列表中。有人可以帮我从这里出去吗? 这是我的代码:
import os.path
fLocation="C://TEMP//"
print("Assumed file location is at: ", fLocation)
fName = input("\nPlease enter a file name with its extension (ex. XXX.txt): ")
try:
fin = open(fLocation + fName, 'r')
aStr = fin.read()
aList = aStr.split()
def linearSearch(intList,target):
found=False
position=0
while position<len(intList):
if intList[position] == target:
found=True
break
position=position+1
return found
mynum=int(input("What is the number you are looking for in the file?"))
filenum= linearSearch(aList, mynum)
if filenum:
print("The number is in index: ",aList)
else:
print("The number is not in the list")
答案 0 :(得分:0)
您的回答是错误的,因为您要将string
与int
您的intList
是string
而非int
的列表。您在接受输入时正在解析mynum
到int。删除int解析,你的字符串将匹配。
mynum=input("What is the number you are looking for in the file?")
此外,如果您期望print("The number is in index: ",aList)
将打印匹配字符串的索引,那么您将无法获得正确的输出,因为它显示输入列表而不是带索引的列表。