最近在刷算法题,打算考CSP用python,因为python有c++时间限制的10倍,而且有好多相当好用的函数和包。

格式化输出是算法中经常需要用到的东西,这里主要说一下常见的一些格式化输出如何处理。结尾的地方也顺便说一下其它的注意事项。

保留指定小数位数

以保留两位小数为例:

num = 3.14159
#利用str.format(),{}中的内容作为填充内容
print('结果为{:.2f}'.format(num))

不足位补零

num = 1
#假设编号从001-100,输出num的编号
#0表示用0填充,>表示左侧填充(本质是右对齐),3表示数据的宽度
print('{:0>3d}'.format(num))
#若要填充其它字符,换掉0即可

对齐

num = 1
#右对齐
print('{:>3d}'.format(num))
#左对齐
print('{:<3d}'.format(num))
#居中对齐
print('{:^3d}'.format(num))

百分数形式

num = 0.35
#百分号后面保留两位
print('{:.2%}'.format(num))

补充一些其它注意事项

在使用python进行编程的时候,好多变量名不能乱用,比如sum,id,min,max,len,int,str和list、dict等。这些变量名平时起名字的时候可能会取到,但是这都是系统中内置的一些函数,如果以这些名字作为变量名,可能会在某些地方出现未知的冲突,建议不要使用。

一些吐槽

尽管用python参加CSP考试表面上有很多的好处,比如丰富的库和函数可以秒杀一些简单题,对于难题难度也会显得低于C++。但是,这个考试很欺负人的地方就是,考试环境只有Idle!!!简直是太难受了,不比记事本强多少。这会导致写代码的时候效率很低,查错也不方便。只能平时准备的时候多用一下那个虐人的玩意了!