编写一个程序,读取输入文件和代表下限和上限的两个字符串。确定字符串是否在范围内并输出

问题描述 投票:0回答:1

编写一个程序,首先读取输入文件的名称,然后读取两个表示搜索范围下限和上限的字符串。应使用 file.readlines() 方法读取文件。输入文件包含按字母顺序排列的十个字母字符串的列表,每个字符串位于单独的行上。您的程序应确定列表中的字符串是否在该范围内(包括边界)并输出结果。

例如:如果输入是:

输入1.txt 氨化的 千年 input1.txt的内容是:

愿望 分类 联邦 毕业 千年 哲学 二次方程 成绩单 荒野 动物学家 输出是:

愿望 - 在范围内 分类 - 在范围内 联邦 - 在范围内 毕业 - 在范围内 千禧年 - 在范围内 哲学-不在范围内 二次方程 - 不在范围内 成绩单 - 不在范围内 荒野 - 不在范围内 动物学家 - 不在范围内 备注:

以换行符结束输出。 所有输入文件都托管在zyLab中,文件名可以直接引用。 input1.txt 可供下载,以便可以看到文件的内容。 在测试中,第一个单词输入始终按字母顺序出现在第二个单词输入之前。

这是我到目前为止的代码,但它没有按字母顺序打印出来。

在此输入您的代码。

file_name = input()
lower = input()
upper = input()

user_file = open(file_name)

word_list = user_file.readlines()
new_list = []
bad_list = []

for word in word_list:
    word = word.strip('\n')
    #
    if( word >= lower and word <= upper ):
        new_list.append(word)
    
    else:
        bad_list.append(word)
    
for new_word in new_list:
    print(new_word, "- in range")
    
for word in bad_list:
    print(word, "- not in range")`
list file input range
1个回答
0
投票

如果您想按字母顺序打印单词,为什么不利用输入文件按字母顺序排列的事实呢?如果我只是使用代码的逻辑并简化它以打印出单词是否在范围内,而我正在迭代单词列表,那么这就满足了字母顺序要求。

file_name = input()
lower = input()
upper = input()

user_file = open(file_name)

word_list = user_file.readlines()

for word in word_list:
    word = word.strip('\n')
    if word >= lower and word <= upper:
        print(word, "- in range")
    
    else:
        print(word, "- not in range")
© www.soinside.com 2019 - 2024. All rights reserved.