读取文件时“while”循环和“for”循环出现问题

时间:2012-11-07 04:54:14

标签: python python-idle

我浪费了很多时间试图找出问题,但没有运气。我在学校里试过TA,但他没用。我是一个初学者,我知道它有很多错误,所以如果我能得到一些细节解释也会很棒。无论如何,基本上我试图用以下功能做的是:

  • 使用while循环检查并查看random_string是否在TEXT中,否则 return NoneType
  • 如果是,则使用for循环从该TEXT中读取行并将其放入 在列表中,l1。
  • 然后,写一个if语句来查看random_string是否在l1。
  • 如果是,则进行一些计算。
  • 否则请阅读下一行
  • 最后,将整个计算结果返回。

TEXT = open('randomfile.txt')

def random (TEXT, random_string):
    while random_string in TEXT:
        for lines in TEXT:
            l1=TEXT.readline().rsplit()
            if random_string in l1:
                '''
                    do some calculations
                '''
            else:
                TEXT.readline() #read next line???
        return #calculations
    return None

1 个答案:

答案 0 :(得分:1)

也许:

def my_func(ccy):
    with open('randomfile.txt', 'r') as f:
        l1 = [float(line.split()[-1]) for line in f.readlines() if ccy in line]
        if l1:
            return sum(l1) / len(l1)
        else:
            return None