零基础入门学习python P30 代码简化中的函数问题
def save_files():
boy_file_name = 'boy_' + str(count) + '.txt'
girl_file_name = 'girl_' + str(count) + '.txt'
boy_file = open(boy_file_name, 'w')
girl_file = open(girl_file_name, 'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
def file_split(file_name):
f = open('record.txt')
boy = []
girl = []
count = 1
for each_lines in f:
if each_lines[:2] != '==':
(role, words) = each_lines.split(':', 1)
if role == '小甲鱼':
boy.append(words)
if role == '小客服':
girl.append(words)
else:
save_files()
boy = []
girl = []
count += 1
save_files()
f.close()
file_split('record.txt')
为啥这样会输出boy_3.txt和girl_3.txt??
就函数save_files()没有给参数为啥第46行还会起作用? ?? 它本来就不需要参数啊 本帖最后由 grabme 于 2020-8-16 12:52 编辑
。 °蓝鲤歌蓝 发表于 2020-8-15 23:13
?? 它本来就不需要参数啊
不是啊 为啥不给参数会输出boy_3.txt和girl_3.txt 给参数会输出boy_1.txt、girl_1.txt和boy_2.txt、girl_2.txt和boy_3.txt、girl_3.txt
就是为啥第40行代码不起作用但是第46行代码起作用了 grabme 发表于 2020-8-16 12:50
不是啊 为啥不给参数会输出boy_3.txt和girl_3.txt 给参数会输出boy_1.txt、girl_1.txt和boy_2.txt、girl_ ...
给不给参数根本就没什么影响,你的函数里都没有用到你的参数。 °蓝鲤歌蓝 发表于 2020-8-16 13:55
给不给参数根本就没什么影响,你的函数里都没有用到你的参数。
那为啥会输出boy_3.txt和girl_3.txt 我不知道 record.txt 里是什么 ,所以不知道你的程序怎么运行的,我也懒得去看 P30 ,以前就没怎么看过。
但是我知道输出 b3, g3 的原因肯定是 for 循环了最少 2 次,而且只有2次进入了 else 分支,至于为什么,你自己一步步倒推回去,打断点调试就知道了。
页:
[1]