鱼C论坛

 找回密码
 立即注册
查看: 1343|回复: 10

[已解决]029课一个任务的作业

[复制链接]
发表于 2018-2-13 22:57:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
按照题目要求自己写了一段代码,发现没有办法实题目要求,代码没有报错,但是始终【count = 1】,无法创建第二个文本【boy_2 , girl_2】。但不知道如何修改,望大神指教。
代码如下

f = open("客服对话.txt")
count = 0

for i in f.readline():
    if "=" in i:
        count += 1

    if count == 0:
        f_boy = open("boy_1.txt","a")
        f_girl = open("gril_1.txt","a")
        if "小甲鱼" in i:
            f.seek(0,7)
            f_boy.write(f.read())
        if "小客服" in i:
            f.seek(0,7)
            f_girl.write(f.read())
        f_boy .close()
        f_girl.close()
        
    if count == 1:
        f_boy = open("boy_2.txt","a")
        f_girl = open("gril_2.txt","a")
        if "小甲鱼" in i:
            f.seek(0,7)
            f_boy.write(f.read())
        if "小客服" in i:
            f.seek(0,7)
            f_girl.write(f.read())
        f_boy .close()
        f_girl.close()

    if count == 2:
        f_boy = open("boy_3.txt","a")
        f_girl = open("gril_3.txt","a")
        if "小甲鱼" in i:
            f.seek(0,7)
            f_boy.write(f.read())
        if "小客服" in i:
            f.seek(0,7)
            f_girl.write(f.read())
        f_boy .close()
        f_girl.close()
f.close()
最佳答案
2018-2-14 18:29:06
  1. file=open('H:/record.txt','r')
  2. cunt=3
  3. while cunt:
  4.     list1=file.readline()
  5.     if '======'not in list1:
  6.             for each in list1.split(':',2):
  7.                 if each =='小客服':
  8.                     print(list1.split(':',2)[1])
  9.                 elif each=='小甲鱼':
  10.                     print(list1.split(':',2)[1])
  11.     if '======' in list1:
  12.         print('===========================================================')
  13.         cunt-=1
  14.     if list1=="":
  15.         cunt-=1
  16. file.close()
复制代码

写到文件的地方你自己加
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-13 22:58:15 | 显示全部楼层
应该是始终【count = 0】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 23:22:58 From FishC Mobile | 显示全部楼层
for i in f.readline()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 23:35:12 From FishC Mobile | 显示全部楼层
小甲鱼,小客服不可能在i里
因为for i in f。readline
i只是一行中的一个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-13 23:56:52 | 显示全部楼层
waitforlove 发表于 2018-2-13 23:35
小甲鱼,小客服不可能在i里
因为for i in f。readline
i只是一行中的一个字符

嗯,了解了,谢谢但是修改过程发现另一个问题【当用open(f,"w")原文本中单数行的文字无法打印,而用open(f,"a")则无这种现象】
修改后代码如下;
f = open("客服对话.txt")
count = 0
for i in f:
    if "=" in i:
        count += 1
    if count == 0:
        f_boy = open("boy_1.txt","w")
        f_girl = open("gril_1.txt","w")
        if "小甲鱼" in i:   
            f_boy.write(i)
        if "小客服" in i:
            f_girl.write(i)
        f_boy .close()
        f_girl.close()
        
    if count == 1:
        f_boy = open("boy_2.txt","w")
        f_girl = open("gril_2.txt","w")
        if "小甲鱼" in i:   
            f_boy.write(i)
        if "小客服" in i:
            f_girl.write(i)
        f_boy .close()
        f_girl.close()

    if count == 2:
        f_boy = open("boy_3.txt","w")
        f_girl = open("gril_3.txt","w")
        if "小甲鱼" in i:
            
            f_boy.write(i)
        if "小客服" in i:
            
            f_girl.write(i)
        f_boy .close()
        f_girl.close()
f.close()

测试一下发现
【for i in f:
        print(i)】
发现打印出来的是,第一次打印出来一句话,下一次打印一行空格,【即用空格隔开每行文字】是这样的吗还是有其他原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-14 00:04:58 From FishC Mobile | 显示全部楼层
for i in  "abcdefghij",
     print(i)
看看是什么
玩手机不好按,急死了你代码有好多不对的地方
不行就跟着视频敲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-14 00:28:34 | 显示全部楼层
waitforlove 发表于 2018-2-14 00:04
for i in  "abcdefghij",
     print(i)
看看是什么

麻烦你了谢谢谢谢
没发现原来有这么多不对的吗。。。
敲了一下代码显示这样
>>> for i in "abcde":
        print(i)

       
a
b
c
d
e
>>> for i in """abcd
erty
qwey""":
        print(i)

       
a
b
c
d


e
r
t
y


q
w
e
y
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-14 08:51:20 | 显示全部楼层
下次发代码,用“<>" 这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-2-14 12:13:14 | 显示全部楼层
有没有一个任务的那个txt文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-14 18:29:06 | 显示全部楼层    本楼为最佳答案   
  1. file=open('H:/record.txt','r')
  2. cunt=3
  3. while cunt:
  4.     list1=file.readline()
  5.     if '======'not in list1:
  6.             for each in list1.split(':',2):
  7.                 if each =='小客服':
  8.                     print(list1.split(':',2)[1])
  9.                 elif each=='小甲鱼':
  10.                     print(list1.split(':',2)[1])
  11.     if '======' in list1:
  12.         print('===========================================================')
  13.         cunt-=1
  14.     if list1=="":
  15.         cunt-=1
  16. file.close()
复制代码

写到文件的地方你自己加
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-14 20:53:34 | 显示全部楼层
checkily 发表于 2018-2-14 08:51
下次发代码,用“" 这个

好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 09:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表