好好学Python:从零基础到项目实战
上QQ阅读APP看书,第一时间看更新

5.7 调试

下面我们通过示例进行介绍,这里通过设置一些错误让读者认识在编写代码过程中的常见问题,以帮助读者熟悉和解决实际遇到的问题。

(1)使用列表根据姓名查找学号,学号使用字符串表示,如果更改为使用数字表示会如何?例如:

>>> students = ['小萌', '小智', '小强', '小张', '小李']
>>> numbers = [1000, 1001, 1002, 1003, 1004]
>>> print('小智的学号是:',numbers[students.index('小智')])
小智的学号是: 001

输出结果和使用字符串表示的输出结果没有什么不同。不过这里数字都是以1开头的,若把1更改为0,我们试试:

>>> students = ['小萌', '小智', '小强', '小张', '小李']
>>> numbers=[0000,0001,0002,0003,0004]
SyntaxError: invalid token

可以看出,numbers编译不通过,告诉我们这是一个无效标记。这就是不使用数字而使用字符串的原因,使用数字碰到以0开头的数字就会出现问题。

(2)尝试从字典中输出一个字符宽度为10的元素,例如:

>>> student={'小萌':'1001','小智':'1002','小强':'1003'}
>>> print('小萌的学号是:%(小萌)10s' % student) #字符宽度为10
小萌的学号是:      1001

尝试把10s变换为10d、10f、-10s、+10s,看看输出结果是怎样的。