Python我试图制作一个程序,将数据写入文件,然后读取该数据

时间:2015-04-04 18:18:42

标签: file python-3.x

def meanRating(afile):
    rating = 0
    divider = 0
    for line in afile:
        listline = line.split(',')
        print(listline)
        rating = rating + int(listline[2])
        divider = divider + 1
    print(rating/divider)

def main():
    file2 = open('blank.txt','w')
    data = 0 # Just assigning data before the loop
    while data != '\n':
        data = input('Enter your data followed by a comma using the Netflix movie rating format. Enter a blank line when you are done.')
        data = data.split(',')
        if len(data) != 4:
            print('That data is incorrect')
        else:
            data = ''.join(data)
            file2.write(data)
            file2.write('\n')
    file2.close()
    file2 = open('blank.txt','r')
    print('cal')
    print('This is the average rating of your movie:',meanRating(file2))
    file2.close()
main()

这里的问题是,在创建并写入文件后,它不执行meanRating函数。编辑:只需发布当前版本。

1 个答案:

答案 0 :(得分:0)

您的代码有几个问题:

  • 如果您希望允许用户在插入空行时结束输入,请在尝试之前检查,否则您只会反复获取“'数据不正确'”,例如{{1 }}

  • if data.strip() == "": break应为data = ''.join(data),因为您希望它以逗号分隔。

  • 函数data = ','.join(data)应该meanRating而不是仅打印它。
相关问题