上QQ阅读APP看书,第一时间看更新
5.5 调试
下面我们通过示例进行介绍,这里通过设置一些错误让读者认识在编写代码过程中的常见问题,以帮助读者熟悉和解决实际遇到的问题。
(1)使用列表根据姓名查找学号,学号使用字符串表示,如果更改为使用数字表示会如何?例如:
>>> students=['小萌','小智','小强','小张','小李'] >>> numbers=[1001,1002,1003,1004,1005] >>> print('小智的学号是:',numbers[students.index('小智')]) 小智的学号是: 1002
输出结果和使用字符串表示的输出结果没有什么不同。不过这里数字都是以1开头的,若把1更改为0,我们试试:
>>> students=['小萌','小智','小强','小张','小李'] >>> numbers=[0001,0002,0003,0004,0005] SyntaxError: invalid token
可以看出,numbers编译不通过,告诉我们这是一个无效标记。这就是不使用数字而使用字符串的原因,使用数字碰到以0开头的数字就会出现问题。
(2)尝试从字典中输出一个字符宽度为10的元素,例如:
>>> student={'小萌':'1001','小智':'1002','小强':'1003'} >>> print('小萌的学号是:%(小萌)10s' % student) #字符宽度为10 小萌的学号是: 1001
尝试把10s变换为10d、10f、-10s、+10s,看看输出结果是怎样的。