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函数。编辑:只需发布当前版本。
答案 0 :(得分:0)
您的代码有几个问题:
如果您希望允许用户在插入空行时结束输入,请在尝试之前检查,否则您只会反复获取“'数据不正确'”,例如{{1 }}
if data.strip() == "": break
应为data = ''.join(data)
,因为您希望它以逗号分隔。
data = ','.join(data)
应该meanRating
而不是仅打印它。