day25

 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'

posted @ 2019-12-26 08:57  绝世老中医  阅读(156)  评论(0编辑  收藏  举报