无法比较用户定义的Int

时间:2017-10-14 20:22:00

标签: python typeerror

无法找到这个具体方案的答案,如果我错过了,请道歉。

尝试定义一个函数,其中读取文本文件,删除单词并将其写入str,并显示长度为用户定义范围的单词。

文件:“你好”,“嗨”,“问候”,“Hola”

范围:最小值:3最大值:5

输出:“你好”,“你好”,“好消息”

当将len的单词与最小值和最大值输入进行比较时,我收到错误:

TypeError:'>' 'int'和'str'

的实例之间不受支持

代码段:

    with open(filename) as f:
    lines = f.readlines()
    for line in lines:
        words = line.split()
        for word in words:
            print(word)
            print(len(word))
            if len(word) >= smallest_word and len(word) <= largest_word:
                word_list.append(word)

我确定len返回int类型,我不正确?也许我忽略了别的什么?

感谢您的协助!

1 个答案:

答案 0 :(得分:0)

只是忘了将用户输入定义为int。对str和len的默认输入在整个时间内正确返回。

更改:

    smallest_word = input("Please enter the minimum letter amount: ")
    largest_word = input("Please enter the maximum letter amount: ")

要:

    smallest_word = int(input("Please enter the minimum letter amount: "))
    largest_word = int(input("Please enter the maximum letter amount: "))