尝试将用户输入的整数与文本文件进行比较,并从该txt文件输出某些行

时间:2018-11-26 21:35:56

标签: python parsing text-files

我正在尝试创建一个接受数字并将其与txt文件中的相同数字进行比较的函数。如果有数字,则输出整行,否则输出无数字。目前只有9行。

我的txt文件(称为nbaPointsLeaders.txt)如下

    1. James Harden, Houston Rockets, 30.4
    2. Anthony Davis ,New Orleans Pelicans, 28.1
    3. LeBron James, Cleveland Cavaliers, 27.5
    4. Damian Lillard, Portland Trail Blazers, 26.9
    5. Giannis Antetokounmpo, Milwaukee Bucks, 26.8
    6. Kevin Durant, Golden State Warriors, 26.4
    7. Russell Westbrook, Oklahoma City Thunder, 25.4
    8. Kyrie Irving, Boston Celtics, 24.4
    9. LaMarcus Aldridge, San Antonio Spurs, 23.1

如果用户输入1,则输入整行。

我遇到的另一个问题是:

    TypeError: 'in <string>' requires string as left operand, not int

,每当我要求用户输入数字时就会出现。

这是我到目前为止提出的代码。我是python的初学者,所以它也可能很明显。

    def leaderInPoints(number):
        number = int(input("What number from 1-9 would you like to see?"))
        with open('nbaPointsLeader.txt','r') as file:
              return [i for i in f if number in i])

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

def leaderInPoints(number):

    number = int(input("What number from 1-9 would you like to see?"))
    file = open('nbaPointsLeader.txt','r')
    # get all lines
    content = file.readlines()
    # we get the nth line
    return content[number]