注册 登录
编程论坛 Python论坛

新手初学,看了好多遍,不明白if的判断哪里出了问题,望哪位大神指教

bandria 发布于 2018-08-08 22:03, 3730 次点击
学习的时候写一个函数,输入一个字符串,去掉前后的空格,用的3.6版本
程序代码:

# -*- coding: utf-8 -*-
import operator as op

def trim(s):
    s1=str(s);
    n1=0;
    for (op.eq(s1[n1],' ')):
        n1=n1+1;
    n2=-1;
    for (op.eq(s1[n2],' ')):
        n2=n2-1;
    return s1[n1:n2];

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2018-8-8 22:27编辑过]

10 回复
#2
zhangjinbu2018-08-14 10:02
格式不对
#3
刘汉子2018-08-15 16:42
for (op.eq(s1[n1],' ')):
        n1=n1+1;
        n2=-1;
#4
刘汉子2018-08-15 16:42
你看看行不行

#5
BetweenWords2018-08-17 15:59
python 编码可以带 ; 吗?
#6
果实2018-09-15 15:28
回复 5楼 BetweenWords
目前还没有在python中看到用;python用的缩进
#7
深秋20152018-09-19 23:31
for 后面不是得有个 in
#8
qunxingw2018-09-20 10:21
程序代码:
# -*- coding: utf-8 -*-
import operator as op

def trim(s):
    s1=str(s)
    n1=0
    while (op.eq(s1[n1],' ')):
        n1=n1+1
    n2=-1
    while (op.eq(s1[n2],' ')):
        n2=n2-1
    return s1[n1:n2]
print(trim(' aaa  ffff   dddd d ffff     dddd       '))
#9
ACR2018-09-22 09:51
也是来学习的
#10
pythontmd2018-09-25 16:27
回复 8楼 qunxingw
经2.7.15测试有bug
1、return s1[n1:n2] 会把最后一位不是空格的删除。
2、如果改成return s1[n1:n2+1],字符串末尾不包含空格,则return s1[n1:0]会返回空行。
#11
bandria2018-10-08 17:36
哈?结贴了?终于找出原因,把C的思维带进来了,7楼说得对,for要有in,我写的里面for没有in,所以不成功。。。
1