Python while-用于对用户输入进行嵌套循环字符串搜索



我只是想知道是否可以制作一个简单的脚本,在用户输入时搜索不同的字符串。假设我想第一次搜索单词"apple",第二次搜索"orange",并显示苹果和桔子所在的所有行。我希望第一个独立于第二个搜索。

`string = "start"
 while string != "end":
    string = input('Enter fruit: ')
    print("looking for ",string )
    for line in f:
        if "Started" and string in line:
            print("debug")
            print(line)`

这种方法第一次有效,第二次无效。输出后,我会被提示输入另一个水果,但它没有显示找到水果的所有行,而是提示另一个输入水果的请求。

假设您发布的代码段上方有类似f = open('BigTextFileFullOfFruit.txt', 'r')的行:在一个文件上只能迭代一次。你必须打电话给f.seek(0)再检查一遍。

这是因为f是一个迭代器,不能多次使用。在那之后,它就筋疲力尽,再也不会屈服了
为了绕过这一点,您可以从seek开始重新迭代或将内容保存在list中以供重用。

# Put this inside your outermost loop
string = raw_input("Enter string: ")
f = fp.readline()
while f:
    if f.find(string) >= 0 and "Started":
        print(f, end=' ')
    f = fp.readline()       

相关内容

  • 没有找到相关文章

最新更新