关于文件第29讲的问题,求解答
def kacha():(sex,items) = each_line.split(':',1)
if sex == '小甲鱼':
boy.append(items)
if sex == '小客服':
girl.append(items)
def saves():
boy_name = 'boy_'+str(count)+'.txt'
girl_name = 'girl_'+str(count)+'.txt'
boy_file = open((r"C:\Users\Administrator\Desktop/%s" %boy_name),'w')
girl_file = open((r"C:\Users\Administrator\Desktop/%s" %girl_name),'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
f = open(r"C:\Users\Administrator\Desktop/record.txt")
boy = []
girl = []
count = 0
for each_line in f:
if each_line != '======':
#进行字符串的分割操作
#将分割的内容存入列表中
kacha()
else:
count += 1
#进行文件保存的操作
saves()
boy = []
girl = []
count +=1
saves()
??????问题呢????? 老八秘制 发表于 2020-6-13 17:22
??????问题呢?????
就是那个def saves(),为什么我定义成def saves(each_line)就会报错啊,这个函数里边不是需要一个each_line的参数吗? lingedu 发表于 2020-6-13 17:24
就是那个def saves(),为什么我定义成def saves(each_line)就会报错啊,这个函数里边不是需要一个each_li ...
你可能理解错了参数的含义
比如说 你定义一个函数里面的参数为a、b、c
但是参数 a、b、c 和 外部的 a、b、c 变量没有任何关系
就拿你上个帖子的例子来说,你的定义:
def adds2(x,y):
return x+y
x = 5
y = 6
def adds2(x,y)这个地方的 x 、y 和外面的 x、y 没有关系
除非你:
adds2(x,y)
就是等于把外面的 x 赋值给 函数参数 x即是 : adds2(x=x,y=y)
你可以直接填adds2(x,y) 的原因是 Python 已经默认帮你等于好了 本帖最后由 Twilight6 于 2020-6-13 17:39 编辑
lingedu 发表于 2020-6-13 17:24
就是那个def saves(),为什么我定义成def saves(each_line)就会报错啊,这个函数里边不是需要一个each_li ...
x = 5
y = 6
def adds2(x,y):
return x+y
adds2()
这样就会报错,为什么呢,因为你没有填入 adds2 的x、y参数
你这样传入和定义并没有用呀,因为你都没有使用到传入的参数,你可以试着运行下下面的代码:
def kacha():
(sex, items) = each_line.split(':', 1)
if sex == '小甲鱼':
boy.append(items)
if sex == '小客服':
girl.append(items)
def saves(each_line):
boy_name = 'boy_' + str(count) + '.txt'
girl_name = 'girl_' + str(count) + '.txt'
boy_file = open((r"C:\Users\Administrator\Desktop/%s" % boy_name), 'w')
girl_file = open((r"C:\Users\Administrator\Desktop/%s" % girl_name), 'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
f = open(r"C:\Users\Administrator\Desktop/record.txt")
boy = []
girl = []
count = 0
for each_line in f:
if each_line != '======':
# 进行字符串的分割操作
# 将分割的内容存入列表中
kacha()
else:
count += 1
# 进行文件保存的操作
saves(each_line)
boy = []
girl = []
count += 1
saves(each_line)
Twilight6 发表于 2020-6-13 17:31
这样就会报错,为什么呢,因为你没有填入 adds2 的x、y参数
高质量的回帖,不像我,就和水贴一样,这么长的代码,我肯定回答不上{:10_303:} Stubborn 发表于 2020-6-13 19:48
高质量的回帖,不像我,就和水贴一样,这么长的代码,我肯定回答不上
{:10_306:} 一口盐汽水喷你...... Twilight6 发表于 2020-6-13 19:52
一口盐汽水喷你......
美,,,美嘉,是你吗?我是益达呀 Stubborn 发表于 2020-6-13 19:59
美,,,美嘉,是你吗?我是益达呀
{:10_277:}口区
页:
[1]