1 day25 2 1、打印如图所示图案,要求支持指定行数,但行数必须是奇数行 3 def print_img(num): 4 if num % 2 != 0: 5 b = num // 2+1 6 c = num // 2 7 d = [] # 1,2,3 8 for k in range(1,b): 9 d.append(k) 10 e = d[::-1] 11 f = d 12 f.append(b) 13 a = f+e 14 print(e,d,f) 15 for i in range(num): 16 print(a[i]*"*") 17 18 19 2.遍历list,并使用del删除某一个值得时候,提示下标越界了,原理就是当遍历的时候,长度已经写死了,这时候去删除,只会让长度减少,必然出现下标越界 20 思路:使用while处理 21 >>> a = [1,2,3,4,5] 22 >>> b = 0 23 >>> while b < len(a): 24 ... print(b) 25 ... if a[b] == 5: 26 ... del a[b] 27 ... b += 1 28 0 29 1 30 2 31 3 32 4 33 >>> a 34 [1, 2, 3, 4]
工作中遇到的问题,使用pymysql读取数据库,查询出来的数据类型是<class 'decimal.Decimal'>
Decimal 是Python自带的模块,主要用来快速正确的进行十进制浮点运算,效果优于float
在需要确保精度的场景多使用此模块
((Decimal('10000.00'),),)这是我从数据库查询返回的数据,通过type()发现此数据类型是 <class 'decimal.Decimal'>,转换为str类型 str(Decimal(需要转换的内容).quantize(Decimal(‘0.0’)))
quantize 量化,通过quantize四舍五入为固定长度的类型
>>> Decimal('1.35234234').quantize(Decimal('0.0'))
Decimal('1.4')
>>> Decimal('1.34234234').quantize(Decimal('0.00'))
Decimal('1.34')
>>> str(Decimal('1.35234234').quantize(Decimal('0.0')))
'1.4'