定义函数def f_write():用随机函数生成10行数据,每行数据个数3到8个不等,每个整数的范围为[-50,50]。把这些数据保存为data.txt

问题遇到的现象和发生背景
编写以下三个函数并依次调用,注意在每个函数内部打开文件并关闭。
(1)定义函数def f_write():用随机函数生成10行数据,每行数据个数3到8个不等,每个整数的范围为[-50,50]。把这些数据保存为data.txt
(2)定义函数def f_read(),用read函数求文件data.txt中全部数字的最大值(不能用max,sort函数),并输出
(3)定义函数def r_readlines(),用readlines()函数读文件,计算文件data.txt每一行各个数的和,并输出和的最大值。

问题相关代码,请勿粘贴截图

def f_write():
    f=open('data.txt','w+')
    import random
    for i in range(11):
        n=random.randint(3,8)
        for m in range(n+1):
            m=[]
            m.append(random.randint(-50,50))
            m.append('')
        fo.write(m)
        fo.close()

运行结果及报错内容
文件写入没有运行结果,也没报错
 我的解答思路和尝试过的方法
没思路,感觉就是全错的

你前面打开的文件赋值给变量f,后面却用fo。第一句的f改成fo试试
此外,代码还是有些小问题,修改如下:

def f_write():
    fo=open('data.txt','w+')
    import random
    for _ in range(11):
        n=random.randint(3,8)
        m=[]
        for _ in range(n):
            m.append(str(random.randint(-50,50)))
        fo.write(' '.join(m)+'\n')
    fo.close()
f_write()

后面的也写了

def f_read():
    fo=open('data.txt','r+')
    s=fo.read()
    maxnum=-50
    for i in s.split():
        if int(i)>maxnum:
            maxnum=int(i)
    print(maxnum)

def f_readlines():
    fo=open('data.txt','r+')
    s=fo.readlines()
    maxsum=-400
    for i in s:
        temp=sum(map(int,i.split()))
        if temp>maxsum:
            maxsum=temp
    print(maxsum)