python if elif_python中if跳转不到elif?

原数据集

高 B-NAME

勇 I-NAME

: O

男 O

, O

中 B-CONT

国 I-CONT

国 I-CONT

籍 I-CONT

, O

无 O

境 O

外 O

居 O

留 O

权 O

, O

1 O

9 O

6 O

6 O

年 O

出 O

生 O

, O

汉 B-RACE

族 I-RACE

, O

中 B-TITLE

共 I-TITLE

党 I-TITLE

员 I-TITLE

, O

本 B-EDU

科 I-EDU

学 I-EDU

历 I-EDU

, O

工 B-TITLE

程 I-TITLE

师 I-TITLE

、 O

美 B-ORG

国 I-ORG

项 I-ORG

目 I-ORG

管 I-ORG

理 I-ORG

协 I-ORG

会 I-ORG

注 B-TITLE

册 I-TITLE

会 I-TITLE

员 I-TITLE

( O

P B-TITLE

M I-TITLE

I I-TITLE

M I-TITLE

e I-TITLE

m I-TITLE

b I-TITLE

e I-TITLE

r I-TITLE

) O

、 O

注 B-TITLE

册 I-TITLE

项 I-TITLE

目 I-TITLE

管 I-TITLE

理 I-TITLE

专 I-TITLE

家 I-TITLE

( O

P B-TITLE

M I-TITLE

P I-TITLE

) O

、 O

项 B-TITLE

目 I-TITLE

经 I-TITLE

理 I-TITLE

。 O

想要的数据集

高 B-NAME NAME

勇 I-NAME NAME

: O O

男 O O

, O O

中 B-CONT CONT

国 I-CONT CONT

国 I-CONT CONT

籍 I-CONT CONT

, O O

无 O O

境 O O

外 O O

居 O O

留 O O

权 O O

, O O

1 O O

9 O O

6 O O

6 O O

年 O O

出 O O

生 O O

, O O

汉 B-RACE RACE

族 I-RACE RACE

, O O

中 B-TITLE TITLE

共 I-TITLE TITLE

党 I-TITLE TITLE

员 I-TITLE TITLE

, O O

本 B-EDU

科 I-EDU

学 I-EDU

历 I-EDU

, O O

工 B-TITLE TITLE

程 I-TITLE TITLE

师 I-TITLE TITLE

、 O O

美 B-ORG ORG

国 I-ORG ORG

项 I-ORG ORG

目 I-ORG ORG

管 I-ORG ORG

理 I-ORG ORG

协 I-ORG ORG

会 I-ORG ORG

注 B-TITLE TITLE

册 I-TITLE TITLE

会 I-TITLE TITLE

员 I-TITLE TITLE

( O O

P B-TITLE TITLE

M I-TITLE TITLE

I I-TITLE TITLE

M I-TITLE TITLE

e I-TITLE TITLE

m I-TITLE TITLE

b I-TITLE TITLE

e I-TITLE TITLE

r I-TITLE TITLE

) O O

、 O O

注 B-TITLE TITLE

册 I-TITLE TITLE

项 I-TITLE TITLE

目 I-TITLE TITLE

管 I-TITLE TITLE

理 I-TITLE TITLE

专 I-TITLE TITLE

家 I-TITLE TITLE

( O O

P B-TITLE TITLE

M I-TITLE TITLE

P I-TITLE TITLE

) O O

、 O O

项 B-TITLE TITLE

目 I-TITLE TITLE

经 I-TITLE TITLE

理 I-TITLE TITLE

。 O O

先上代码

file = open('2.txt', 'w+', encoding='utf-8')

with open('3.txt', encoding='utf-8') as f:

for line in f:

line_list = line.strip()

if line_list.find('NAME') :

file.write(line_list + ' ' + "NAME" + '\n')

elif line_list.find('TITLE') :

file.write(line_list + ' ' + "TITLE" + '\n')

elif line_list.find('CONT'):

file.write(line_list + ' ' + "CONT" + '\n')

elif line_list.find('RACE'):

file.write(line_list + ' ' + "RACE" + '\n')

elif line_list.find('ORG'):

file.write(line_list + ' ' + "ORG" + '\n')

elif line_list.find('O'):

file.write(line_list + ' ' + 'O' + '\n')

else:

file.write(line_list + '\n')

我本来以为上面的代码肯定可以得到想要的数据集,结果效果是这样的

高 B-NAME NAME

勇 I-NAME NAME

: O NAME

男 O NAME

, O NAME

中 B-CONT NAME

国 I-CONT NAME

国 I-CONT NAME

籍 I-CONT NAME

, O NAME

无 O NAME

境 O NAME

外 O NAME

居 O NAME

留 O NAME

权 O NAME

, O NAME

NAME

1 O NAME

9 O NAME

6 O NAME

6 O NAME

年 O NAME

出 O NAME

生 O NAME

, O NAME

汉 B-RACE NAME

族 I-RACE NAME

, O NAME

中 B-TITLE NAME

共 I-TITLE NAME

党 I-TITLE NAME

员 I-TITLE NAME

, O NAME

本 B-EDU NAME

科 I-EDU NAME

学 I-EDU NAME

历 I-EDU NAME

, O NAME

工 B-TITLE NAME

程 I-TITLE NAME

师 I-TITLE NAME

、 O NAME

美 B-ORG NAME

国 I-ORG NAME

项 I-ORG NAME

目 I-ORG NAME

管 I-ORG NAME

理 I-ORG NAME

协 I-ORG NAME

会 I-ORG NAME

注 B-TITLE NAME

册 I-TITLE NAME

会 I-TITLE NAME

员 I-TITLE NAME

( O NAME

P B-TITLE NAME

M I-TITLE NAME

I I-TITLE NAME

M I-TITLE NAME

e I-TITLE NAME

m I-TITLE NAME

b I-TITLE NAME

e I-TITLE NAME

r I-TITLE NAME

) O NAME

、 O NAME

注 B-TITLE NAME

册 I-TITLE NAME

项 I-TITLE NAME

目 I-TITLE NAME

管 I-TITLE NAME

理 I-TITLE NAME

专 I-TITLE NAME

家 I-TITLE NAME

( O NAME

P B-TITLE NAME

M I-TITLE NAME

P I-TITLE NAME

) O NAME

、 O NAME

项 B-TITLE NAME

目 I-TITLE NAME

经 I-TITLE NAME

理 I-TITLE NAME

发现判断语句一直在第一个if那里,跳不出来,于是查询了一下if的用法“if语句中的条件表达式求值为0或FALSE值时,则执行else语句中的代码块。”

而find(str)的用法是“若找到str,则返回str初始的位置,若未找到,则返回-1。”,注意:是-1,所以跳不出来,只要把代码改成下面这样就可以了。

file = open('3.txt', 'w+', encoding='utf-8')

with open('2.txt', encoding='utf-8') as f:

for line in f:

line_list = line.strip()

if line_list.find('NAME') != -1:

file.write(line_list + ' ' + "NAME" + '\n')

elif line_list.find('TITLE') != -1:

file.write(line_list + ' ' + "TITLE" + '\n')

elif line_list.find('CONT') != -1:

file.write(line_list + ' ' + "CONT" + '\n')

elif line_list.find('RACE') != -1:

file.write(line_list + ' ' + "RACE" + '\n')

elif line_list.find('ORG') != -1:

file.write(line_list + ' ' + "ORG" + '\n')

elif line_list.find('O') != -1:

file.write(line_list + ' ' + 'O' + '\n')

else:

file.write(line_list + '\n')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值