QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
80
查看: 274|回复: 10

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

[复制链接]
最佳答案
1 
累计签到:17 天
连续签到:1 天
瓜子仁 发表于 2018-2-13 22:57:23 27410 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

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()
复制代码

写到文件的地方你自己加
楼层
跳转到指定楼层
最佳答案
1 
累计签到:17 天
连续签到:1 天
瓜子仁  楼主| 发表于 2018-2-13 22:58:15 | 显示全部楼层
应该是始终【count = 0】
最佳答案
3 
累计签到:54 天
连续签到:2 天
waitforlove 发表于 2018-2-13 23:22:58 From FishC Mobile | 显示全部楼层
for i in f.readline()
最佳答案
3 
累计签到:54 天
连续签到:2 天
waitforlove 发表于 2018-2-13 23:35:12 From FishC Mobile | 显示全部楼层
小甲鱼,小客服不可能在i里
因为for i in f。readline
i只是一行中的一个字符
最佳答案
1 
累计签到:17 天
连续签到:1 天
瓜子仁  楼主| 发表于 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)】
发现打印出来的是,第一次打印出来一句话,下一次打印一行空格,【即用空格隔开每行文字】是这样的吗还是有其他原因
最佳答案
3 
累计签到:54 天
连续签到:2 天
waitforlove 发表于 2018-2-14 00:04:58 From FishC Mobile | 显示全部楼层
for i in  "abcdefghij",
     print(i)
看看是什么
玩手机不好按,急死了你代码有好多不对的地方
不行就跟着视频敲
最佳答案
1 
累计签到:17 天
连续签到:1 天
瓜子仁  楼主| 发表于 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
>>>
最佳答案
5 
累计签到:99 天
连续签到:1 天
checkily 发表于 2018-2-14 08:51:20 | 显示全部楼层
下次发代码,用“<>" 这个
最佳答案
0 
累计签到:1 天
连续签到:1 天
迷失银河 发表于 2018-2-14 12:13:14 | 显示全部楼层
有没有一个任务的那个txt文件
最佳答案
3 
累计签到:54 天
连续签到:2 天
waitforlove 发表于 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()
复制代码

写到文件的地方你自己加
最佳答案
1 
累计签到:17 天
连续签到:1 天
瓜子仁  楼主| 发表于 2018-2-14 20:53:34 | 显示全部楼层
checkily 发表于 2018-2-14 08:51
下次发代码,用“" 这个

好的

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-5-21 17:10

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