设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

集中答疑专用贴

  [复制链接]

0

主题

0

好友

6

积分

新手上路

Rank: 1

楼主
发表于 2018-1-10 15:10:40 来自手机 |显示全部楼层
老师您好,我是看了您的入门课程后自学Python简明教程,在输入与输出这一章遇到了问题,前来请教。

Python2.7   window
此段程序的目的是去除输入字符串中的几种特定标点符号
text=raw_input('Enter text:')
something=list(text)
munber=len(something)
print something
print munber
fo=('.',',','!',':',';',' ')
for i in range(0,int(munber)-1):
    if str(something[i]) in fo:
        del something[i]
print something

以下为两组测试结果:
=============== RESTART: E:/python程序/简明Python教程/tdsf.py ===============
Enter text:sdcdsc !
['s', 'd', 'c', 'd', 's', 'c', ' ', '!']
8
['s', 'd', 'c', 'd', 's', 'c', '!']
>>>
=============== RESTART: E:/python程序/简明Python教程/tdsf.py ===============
Enter text:wsdvcs  !!
['w', 's', 'd', 'v', 'c', 's', ' ', ' ', '!', '!']
10

Traceback (most recent call last):
  File "E:/python程序/简明Python教程/tdsf.py", line 9, in <module>
    if str(something[i]) in fo:
IndexError: list index out of range

我现在完全懵逼,这个报错的意思是list索引超出范围,是指range范围不对?那为什么另一组字符串输入会成功(仅指不报错)?
烦请老师解答QAQ,十分感谢
回复

使用道具 举报

0

主题

0

好友

6

积分

新手上路

Rank: 1

沙发
发表于 2018-1-10 16:54:18 来自手机 |显示全部楼层
TED 发表于 2018-1-10 16:39
首先munber应该是number哈,和英文单词一致些也好用(不影响程序)

代码错误有两处,一是for i inrange( ...

一语惊醒梦中人,谢谢老师!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-20 21:51 , Processed in 0.015888 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部