最近在刷算法题,打算考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!!!简直是太难受了,不比记事本强多少。这会导致写代码的时候效率很低,查错也不方便。只能平时准备的时候多用一下那个虐人的玩意了!