Python 3.7从零开始学
上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,看看输出结果是怎样的。