Python 如何在文件中进行线性搜索?

Python 如何在文件中进行线性搜索?,python,linear-search,Python,Linear Search,我是python新手,我的家庭作业有问题。我想从一个位置读取一个文件,并查找一个数字在该文件中出现的次数。我已经完成了你阅读文件和获取列表的步骤。我还在程序中使用线性搜索来查找数字。然而,无论我做什么,我都会得到答案,这个数字在列表中是否定的。有人能帮我吗? 这是我的密码: import os.path fLocation="C://TEMP//" print("Assumed file location is at: ", fLocation) fName = input("\nPlease

我是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")
导入操作系统路径
fLocation=“C://TEMP/”
打印(“假定文件位置为:”,fLocation)
fName=input(“\n请输入文件名及其扩展名(例如XXX.txt):”)
尝试:
fin=开放式(絮凝+fName,'r')
aStr=fin.read()
aList=aStr.split()
def linearSearch(intList,目标):
发现=错误
位置=0

位置时,您得到的答案是错误的,因为您将
字符串
int

您的
intList
是一个
string
列表,而不是
int
。您在获取输入时将
mynum
解析为int。删除int解析,您的字符串将匹配

mynum=input("What is the number you are looking for in the file?")

另外,如果您希望
print(“数字在索引中:”,aList)
将打印字符串匹配的索引,那么您将无法获得正确的输出,因为它显示的是输入列表,而不是带有索引的列表。

您应该学习如何调试Python代码。一个明显的问题是,您正在将输入转换为int,但是,如果不以相同的方式转换文件中的单词,则数字
42
不等于字符串
'42'
,因此无法通过这种方式找到匹配项。此外,此代码也不会运行。至少有两个错误,在第二个错误之后,我停止尝试修复它。A必须是可运行的,才能成为实际的示例。您还需要包含一个小的示例文件来进行测试。没有人能调试你的问题。如果你不让他们复制它。