Python有趣案例分享(持续更新完善)

一切以代码最简、性能最高为原则,宁愿空间换时间

1.前100中,对“3的倍数”的数求和

print(sum(i for i in range(0,101,3)))#对“3的倍数”的数求和
print(sum(i for i in range(0,101,2)))#对“2的倍数”的数求和

1683
2550

PS:不要求最简的话,使用while循环、for循环都可以得出结论

2.将字符串文本“¥12345.6789元”,加上千元内随机金额后,变为保留2位小数的字符串文本

import random#导入随机模块
s='¥12345.6789元'
s1,s2,s3=s[0],s[1:-1],s[-1]#一次多赋值几个
s2=f'{float(s2)+random.uniform(0,1000):.2f}'#转类型相加再转回来
s22='{float(s2)+random.uniform(0,1000):.2f}'#没加f
print(s1+s2+s3)#字符串文本拼接
print(s1,s2,s3,s22,sep='-')#看看各元素

¥12754.67元
¥-12754.67-元-{float(s2)+random.uniform(0,1000):.2f}

PS:字符串切片,转类型,拼接

3.打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j}×{i}={j*i}',end=' ')
        # print("%d*%d=%2d"%(j,i,j*i),end=' ')#老版本等价写法
    print('')

1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

PS:要处理好对齐细节的话,得老版本写法

4.打印九九乘法表(完美对齐版本)

for i in range(1,10):
    for j in range(1,i+1):
        # print(f'{j}×{i}={j*i}',end=' ')#新版本写法
        print("%d*%d=%2d"%(j,i,j*i),end=' ')#老版本等价写法
    print('')

11= 1
1
2= 2 22= 4
1
3= 3 23= 6 33= 9
14= 4 24= 8 34=12 44=16
15= 5 25=10 35=15 45=20 55=25
1
6= 6 26=12 36=18 46=24 56=30 66=36
1
7= 7 27=14 37=21 47=28 57=35 67=42 77=49
18= 8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19= 9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81
在这里插入图片描述
%d #数字普通输出;
%2d #数字按宽度为2,右对齐方式输出,左边补空格;
%02d#数字按宽度为2,右对齐方式输出,左边补0;
%.2d#输出整形时最少输出2位,不够以0占位,小数的话只要整数部分(100→100,2→02,3.777→03);
在这里插入图片描述

5.XXX

未完待续

猜你喜欢

转载自blog.csdn.net/Tiandao60/article/details/108565819