免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7438 | 回复: 6
打印 上一主题 下一主题

eclipse 学习python中len函数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-06 10:10 |只看该作者 |倒序浏览
今天发现eclipse做len()测量长度的时候发现总是多算一位,而且无法break:


while True:
    s = str(raw_input('Enter something : '))
    if s == 'quit':
      break
    print 'Length of the string is', len(s)
print 'Done'


结果:

Enter something : quit
Length of the string is 5
Enter something :




真是好郁闷!但是在idle中就没有问题,可见是eclipse的问题。一下午没有解决,最后换了komodo3.5就没问题了。希望知道为什么的朋友给流个言!~谢谢

论坛徽章:
0
2 [报告]
发表于 2006-12-06 13:06 |只看该作者
你应该输出你收到的字符串,看看是不是多了回车符换行符什么的。

论坛徽章:
0
3 [报告]
发表于 2006-12-06 21:56 |只看该作者
不会啊,那为什么在idle和komodo里面没有问题呢?我一个同事说是eclipse调用的是jdk,在java里面是从0开始计算的,所以打印出来的所有数都是加一。

论坛徽章:
0
4 [报告]
发表于 2006-12-06 23:02 |只看该作者
你用的是pydev么?
据说pydev+eclipse在Windows上处理回车是有些问题的,会多出来一个字符。
你可以用print repr(s)检查字符串的内容

论坛徽章:
0
5 [报告]
发表于 2006-12-07 16:34 |只看该作者
我作了下,却是会出现一个\r的字符,怎么能去掉那?

论坛徽章:
0
6 [报告]
发表于 2006-12-28 18:39 |只看该作者
print 'Length of the string is', len(str.rstrip(s))
替换成这样看看

论坛徽章:
0
7 [报告]
发表于 2007-01-04 21:20 |只看该作者
Java里的\r是换行符, \n是回车符
PYTHON, PERL, C里刚好相反
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP