创意品店运营

#确定 客户的每种每种商品我们的库存够不够
goods={'永生花':20,'磁悬浮球':10,'炫彩水龙头':30,'指尖陀螺':70,'3D发光T恤':0}   #库存
buy_list={'永生花':10,'磁悬浮球':30,'星空灯':20,'炫彩水龙头':10,'指尖陀螺':10}
price_list={'永生花':199,'磁悬浮球':79,'炫彩水龙头':39,'指尖陀螺':69,'3D发光T恤':89}

total_price=0
for i in buy_list:
    if i not in goods.keys():  #如果库存没有跳过这一项,防止下一项报错
        print('%s库存没有了,请去其他店铺采购'%i)
        continue
    if goods[i]-buy_list[i]>=0:
        temp=buy_list[i]*price_list[i]
        print('%s商品采购了%d元'%(i,temp))
        total_price+=temp
    else:
        count=buy_list[i]-goods[i]
        temp =goods[i] * price_list[i]
        print('%s商品,缺货了%d件,只采购了%d元' % (i, count,temp))
        total_price += temp
print(total_price)

输出结果:
在这里插入图片描述
1、问题:这样编写代码太过于混乱,引入函数概念进行封装

def hello():
    '''hahaha'''
    print('haha')
hello()

带参使用

def hello(name):
    '''hahaha'''
    print(name,'haha')
hello('Tom')

2、参数:形式参数,实际参数(位置实参,关键字实参)
(1)默认参数

def hello(name,words='hello'):  #words默认参数   
    print(name,words)
hello('Tom')

(2)任意位置参数

def hello(name,*words):  #默认参数   任意位置   任意关键字
    print(name,words)    #words是一个元祖形式
hello('Tom','你好','haha','hello')

(3)任意关键字参数

def hello(name,**words):  #默认参数   任意位置   任意关键字
    print(name,words)
hello('Tom',a='你好',b='haha',c='hello')

在这里插入图片描述
将关键字参数全部接受下来,并且保存到了words这个字典当中
3、函数返回值(只能有一个,可以被变量接收,可以作为函数的实参)
多对象赋值

def add(x,y):
    s=x+y
    return s,s,s
print(add(3,5))

输出结果(8,88
def add(x,y):
    s=x+y
    return s,s,s
a,b,c=add(3,5)
print(a)
print(b)
print(c)

输出结果:
8
8
8

4、函数的递归

#斐波那契数列的生成,输出前n项
#(1,1,2,3,5,8,13,21.....)特点从第三项开始,后一项等于前两项之和
#fib(n)=xxx    fib(4)~3
def fib(n):
    if n ==1 or n==2:
        return 1
    return fib(n-1)+fib(n-2)
print(fib(4))

5、变量名解析机制

name = '张三'  # 全局张三
def foo():
    name='张三-上层函数内'
    def hello():
        global  name  
         #用全局变量进行赋值(nonlocal name:用上层变量进行赋值)
        name=name+'!'
        print(name)
    hello()
foo()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值