当前位置: 首页 > 知识库问答 >
问题:

无法比较Len w/用户定义的Int的返回

公孙俭
2023-03-14

无法找到此特定场景的答案,如果我错过了,请道歉。

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

文件:“你好”,“你好”,“你好”,“你好”,“你好”

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

输出:“你好”、“嗨”、“你好”

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

TypeError:'

代码段:

    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个答案

嵇星海
2023-03-14

只是忘记了将用户输入定义为int。str和len的默认输入始终正确返回int。

已更改:

    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: "))
 类似资料:
  • 问题内容: 因此,我在这里看到了一个示例,该示例如何使用Comparator接口对ArrayList进行排序,因此我进行了尝试。使用Strings可以很好地工作,但是我要排序的一个变量是Integer,它将无法编译,并说“不能取消引用int”。 我该怎么做才能使它起作用,并允许我按score变量对ArrayList进行排序? 这是我的代码: 谢谢您的帮助! 问题答案: 您不能在上调用方法;没有可以

  • 我有一个布尔方法正在对字符串进行一些错误检查。我有一个int类常量叫“numwords”=8。我将一个字符串传递给布尔方法,在该方法中,我使用.split和.length对字符串进行单词计数。一个名为“words”的int计算字符串中的单词数。完成之后,我要执行一个if语句,比较单词和数字单词。如果它们的数目相等,则返回true,否则为false。我试过==和.等于,但都没用。有什么想法吗? 我试

  • 不知道如何让不出错。 非常迷茫。已尝试更改多行代码。 我希望它能够与< code > compare to(new number)没有问题。 错误消息:“无法对基本类型int调用< code>compareTo(int)

  • 我想了解Comparator类的comparing方法的定义。我会留下一些代码,以防它有助于解释。我正在使用一个名为Person的类,它基本上存储一个名字和一个姓氏。可以使用get方法检索此数据。 然后,我创建了一个人员列表: 我一直在测试不同的方法来对这个人员列表进行排序。在其他可能性中,我发现了这个: 我明白这些行的作用。基本上,此列表是使用比较器排序的,该比较器使用排序键(Person的名称

  • 嗨,我是贾维斯的新手。 我有一个实体,我正在为它实现一个自定义比较器,以便使用Javers进行比较。 我的实体:- 包装com.devyansh.entity; 进口java.util.清单; 导入组织。贾维斯。果心元模型。注释。实体 下面我注册了新的比较器:- 我的比较器实现:- 问题领域:- 每当我尝试使用以下行进行比较时:- Diff Diff=标枪。比较(new Ent(“aaa”,new

  • 问题内容: 我想使用比较器按降序对对象进行排序。 在这里,我想对一个Person对象数组进行排序。 我怎样才能做到这一点? 问题答案: 你可以使用这种方法来覆盖用户定义的类的降序方法,从而覆盖compare()方法, 或通过使用用户Prince在其评论中提到的降序进行排序。 你可以像这样进行升序排序, 我们用简洁的Lambda表达式(从Java 8开始)替换上面的代码: 从Java 8开始,Lis