python程序设计学生的自我总结_《Python程序设计》学生答疑【20200227】
Q:老师为什么后面会报错呢?
A:你看哦:i in range(len(s)),len(s)是多少?
Q:是从0开始数吗?
A:你先告诉我,这个的值会是多少?你想想,这个函数是什么意思?
Q:一共有多长。输入的文字。
A:对。那现在你输入的字符串,一共有多少?
Q:8个。
A:这个语句就写成了 i in range(8),那i是从几到几?
Q:0到8。
A:不对,再想想。
Q:是我打这个范围吗?从0开始算……
A:对,从0开始,算到多少呢?
Q:7吗?
A:对的。
Q:不包括最后一个。
A:当i等于0的时候,2*i+1是多少?
Q:1。
A:s[2*i+1]是哪一个?
Q:第二个。
A:嗯,那你的字符串是不是前面打了空格?
Q:呃……
A:所以才会取到“华”字,否则你第二个应该是“强"字。你再运行一次,不要打空格。但是还会出错,还没讲完呢
Q:
A:对吧。好,你看,i=1的时候,2*i+1是几?i=2的时候呢?把这几个依次算一下。
Q:第三个,第五个。
A:是s[3]和s[5]对应字符串中的第几个?
Q:业和术。
A:嗯,第四个和第六个对吧?好,再算两个,i=3和i=4呢?
Q:第7个、第9个。
A:不对,是s[7]和s[9]。s[9]有吗?
Q:没有。
A:所以出错了。因此,用这种方法,会超出边界。
Q:是要限制一下i的范围吗?用while。
A:对的。用while也可以。有很多方法,总之,原理就是不要让它超出范围。或者逐个判断它是单数还是双数。
Q:好的。