In [1]:
# HLS菜单换算成本 中文硬核编程
import random
import re
random.seed (0)
订单商品汇总=[
"香辣鸡腿堡+香酥鸡腿+中可乐_1*23.0+热辣堡+田园+紫薯+骨肉串+2中可_1*28.0+田园香蔬堡+唐扬鸡块+紫薯豌豆派+中可乐_1*23.0+腿堡+鸡排堡+鸡块+玉米+鸡米花+2中可_1*33.0",
"田园香蔬堡+唐扬鸡块+紫薯豌豆派+中可乐_1*23.0",
"香辣鸡排堡_1*12.9+香辣鸡腿堡+辣味鸡肉卷+中可乐_1*23.0",
"腿堡+鸡排堡+鸡块+玉米+鸡米花+2中可_1*33.0",
"香辣鸡腿堡_2*12.9",
"热辣堡+田园+紫薯+骨肉串+2中可_1*28.0"
]

订单商品信息=订单商品汇总[0]
单位成本汇总={
    "香辣鸡腿堡+香酥鸡腿+中可乐":1,
    "热辣堡+田园+紫薯+骨肉串+2中可":2,
    "田园香蔬堡+唐扬鸡块+紫薯豌豆派+中可乐":3,
    "腿堡+鸡排堡+鸡块+玉米+鸡米花+2中可":4,
    "香辣鸡腿堡+辣味鸡肉卷+中可乐":5,
    "香辣鸡排堡":6,
    "香辣鸡腿堡":7
}

def 分割订单商品信息(订单商品信息文本="香辣鸡排堡_1*12.9+香辣鸡腿堡+辣味鸡肉卷+中可乐_1*23.0") -> list:
    # 一次性取出商品和数量,注意到商品后面永远有下划线,数量永远是下划线+数量+星号(_1*),正则表达式需要同时命中下划线和数量
    return re.compile('(?:^|\+)(?P<产品名称>.*?)_(?P<数量>\d.*?)\*(?P<售价>\d+\.\d+)').findall(订单商品信息文本)  # 正则表达式里面的中文是分组注释

def 计算成本(订单商品信息数组=[('香辣鸡排堡', '1', '12.9'), ('香辣鸡腿堡+辣味鸡肉卷+中可乐', '1', '23.0')]) ->float:
    成本=0 #初始化成本
    for 单个订单商品 in 订单商品信息数组:
        成本=成本+int(单个订单商品[1])*单位成本汇总[单个订单商品[0]]
    return 成本

计算成本(分割订单商品信息())


Out[1]:
11

In [2]:
for 测试商品 in 订单商品汇总:
    print('商品名称:',测试商品,'\n计算出来的成本:',计算成本(分割订单商品信息(测试商品)))


香辣鸡腿堡+香酥鸡腿+中可乐_1*23.0+热辣堡+田园+紫薯+骨肉串+2中可_1*28.0+田园香蔬堡+唐扬鸡块+紫薯豌豆派+中可乐_1*23.0+腿堡+鸡排堡+鸡块+玉米+鸡米花+2中可_1*33.0 10
田园香蔬堡+唐扬鸡块+紫薯豌豆派+中可乐_1*23.0 3
香辣鸡排堡_1*12.9+香辣鸡腿堡+辣味鸡肉卷+中可乐_1*23.0 11
腿堡+鸡排堡+鸡块+玉米+鸡米花+2中可_1*33.0 4
香辣鸡腿堡_2*12.9 14
热辣堡+田园+紫薯+骨肉串+2中可_1*28.0 2

In [1]:
a=1
print(a)


1

In [2]:
a=a+1
print(a)


2

In [3]:
def dispFonts():
    #显示可用的中文字体,同时支持英文的
    from matplotlib.font_manager import FontManager
    import subprocess

    fm = FontManager()
    mat_fonts = set(f.name for f in fm.ttflist)

    output = subprocess.check_output(
        'fc-list :lang=zh -f "%{family}\n"', shell=True)
    output = output.decode('utf-8')
    # print ‘*‘ * 10, ‘系统可用的中文字体‘, ‘*‘ * 10
    # print output
    zh_fonts = set(f.split(',', 1)[0] for f in output.split('\n'))
    available = mat_fonts & zh_fonts

    print('*' * 5 +  u'可用的中文字体'+'*' * 5)
    for f in available:
        print(f)
dispFonts()


---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
<ipython-input-3-de4ded168e54> in <module>
     18     for f in available:
     19         print(f)
---> 20 dispFonts()

<ipython-input-3-de4ded168e54> in dispFonts()
      8 
      9     output = subprocess.check_output(
---> 10         'fc-list :lang=zh -f "%{family}\n"', shell=True)
     11     output = output.decode('utf-8')
     12     # print ‘*‘ * 10, ‘系统可用的中文字体‘, ‘*‘ * 10

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs)
    393 
    394     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 395                **kwargs).stdout
    396 
    397 

c:\program files (x86)\microsoft visual studio\shared\python37_64\lib\subprocess.py in run(input, capture_output, timeout, check, *popenargs, **kwargs)
    485         if check and retcode:
    486             raise CalledProcessError(retcode, process.args,
--> 487                                      output=stdout, stderr=stderr)
    488     return CompletedProcess(process.args, retcode, stdout, stderr)
    489 

CalledProcessError: Command 'fc-list :lang=zh -f "%{family}
"' returned non-zero exit status 1.

In [1]:
# coding:utf-8
import turtle as t
t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)
t.setup(840,500) # 设置主窗口的大小为840*500
t.speed(10) # 设置画笔速度为10
#鼻子
t.pu() # 提笔
t.goto(-100,100) # 画笔前往坐标(-100,100)
t.pd() # 下笔
t.seth(-30) # 笔的角度为-30°
t.begin_fill() # 外形填充的开始标志
a=0.4
for i in range(120):
   if 0<=i<30 or 60<=i<90:
       a=a+0.08
       t.lt(3) #向左转3度
       t.fd(a) #向前走a的步长
   else:
       a=a-0.08
       t.lt(3)
       t.fd(a)
t.end_fill() # 依据轮廓填充
t.pu() # 提笔
t.seth(90) # 笔的角度为90度
t.fd(25) # 向前移动25
t.seth(0) # 转换画笔的角度为0
t.fd(10)
t.pd()
t.pencolor(255,155,192) # 设置画笔颜色
t.seth(10)
t.begin_fill()
t.circle(5) # 画一个半径为5的圆
t.color(160,82,45) # 设置画笔和填充颜色
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255,155,192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160,82,45)
t.end_fill()
#头
t.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300,-30) # 顺时针画一个半径为300,圆心角为30°的园
t.circle(100,-60)
t.circle(80,-100)
t.circle(150,-20)
t.circle(60,-95)
t.seth(161)
t.circle(-300,15)
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
a=0.4
for i in range(60):
   if 0<=i<30 or 60<=i<90:
       a=a+0.08
       t.lt(3) #向左转3度
       t.fd(a) #向前走a的步长
   else:
       a=a-0.08
       t.lt(3)
       t.fd(a)
t.end_fill()
#耳朵
t.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,56)
t.end_fill()
#眼睛
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
#腮
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
#嘴
t.color(239,69,19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30,40)
t.circle(40,80)
#身体
t.color("red",(255,99,71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()
#手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)
#脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
#尾巴
t.pensize(4)
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70,20)
t.circle(10,330)
t.circle(70,30)

In [ ]: