apple_wt 发表于 2018-9-15 16:25:58

29课的 split报错

Traceback (most recent call last):
File "D:\Program Files\python3.7\learning python\小甲鱼\s2.py", line 7, in <module>
    (role,line_spoken) =each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
文件中的:中英文都改过

apple_wt 发表于 2018-9-15 16:27:11

f = open("D:\\Program Files\\python3.7\\learning python\\小甲鱼\\情侣对话.txt")
boy = []
girl = []
count = 1
for each_line in f:
      if each_line[:5] !="=====":   # 以字符串==作为分割
                (role,line_spoken) =each_line.split(':',1)
                if role =='男':
                        boy.append(line_spoken)
                if role =="女":
                        girl.append(line_spoken)
      else:                           # 文件的分别保存

apple_wt 发表于 2018-9-15 16:30:24

文件的内容:女:你真的了解我的一切吗?身高、体重、最喜欢的和最讨厌的,你说说看!
男:身高……穿平底鞋到我下巴,穿高跟鞋到我耳朵。体重,我用自行车载你,勉强可以上30°斜坡,抱着你的话,估计走不出两米。你最喜欢用
尖指甲掐我最讨厌我看足球和别的女生。
女:哼!那你到底喜欢我哪儿?不许说“很多”!要举实例!
男:多得很,例如你感冒了没有力气和我吵嘴,例如你不再要求我接你下班只要每天早上打电话叫醒你就行了,例如你说其实玫瑰不如大白菜实惠,例如……(看了看女友的脸色,闭了嘴)。
女:假设,我和你妈同时落水,你先救谁?
男:你不是说你学会游泳了吗?
女:你最难忘的和我有关的事儿是哪一件?
男:肯定是结婚!爱情终于进行到底了嘛!(心想:彻底沦陷的日子,妈的谁能忘啊!)
=======================================================================
女:你说我和你从前的女朋友有什么区别?说呀你!
男:她?是一盘没下完的棋﹔你呀,是一盘下不完的棋。
女:对你来说,我还不如你的狗重要吗?
男:如果你不讲话,又能吃剩饭,那当然是你重要。
女:你说我戴红宝石好还是戴钻戒好?
男:戴毛线手套最好。
=======================================================================女:你能一辈子只爱我一个吗??
男:当然能!(浮想:在一个后面加上“小时”,哈哈!)
女:假如你失去了我,你会怎样?
男:茶不思饭不想(因为想去喝酒,好好庆祝庆祝!)
女:现在,你是不是还想着别的女人?
男:想你妈妈!她老人家爱喝鱼汤,今晚给她买点送去。
女:(有点高兴了,想了一想)你最想跟我说的三个字……给你一次机会呦!(期待地)
男:别…问…了!!

塔利班 发表于 2018-9-15 16:31:20

=少了1个,应该是======

apple_wt 发表于 2018-9-17 08:57:34

不是这个原因,我试了的

塔利班 发表于 2018-9-17 09:06:45

你试着打印每一行,看看是不是有空字符串

apple_wt 发表于 2018-9-17 09:38:46

我是3.7版本的

塔利班 发表于 2018-9-17 09:58:33

apple_wt 发表于 2018-9-17 09:38
我是3.7版本的

版本没关系

塔利班 发表于 2018-9-17 09:59:32

你检查下标点符号,冒号和程序是否一致,要么都是中文,要么都是英文

apple_wt 发表于 2018-9-18 10:28:57

不知道怎么的,那个文档不得行。把小甲鱼的程序改为调用我那文档就不得行。老师的文档就可以

塔利班 发表于 2018-9-18 10:34:57

apple_wt 发表于 2018-9-18 10:28
不知道怎么的,那个文档不得行。把小甲鱼的程序改为调用我那文档就不得行。老师的文档就可以

你把你的文档用utf-8编码保存下,试试

Aristo 发表于 2020-5-21 21:23:47

你的所有open的目录需要保持一致,这样你分出来的三个文本文件才会保存在同一个目录下,然后你的split()才不会出现报错。我一开始也是报错了,后来就是这样改了回来就可以了。

469945059 发表于 2020-5-21 21:50:13

if each_line[:5] !="=====":你这个代码做什么了?
页: [1]
查看完整版本: 29课的 split报错