python练习:自定义函数调用:商品购物实例

1、商品录入

dict_myshanpin_iof={101:{"商品名称":"毛毛熊","单价":25},

102:{"商品名称":"布娃娃","单价":52},

103:{"商品名称":"小汽车","单价":35},

104:{"商品名称":"山地车","单价":120},

105:{"商品名称":"泡泡机","单价":29},

106:{"商品名称":"玩具枪","单价":200},

}

dict_spxx = {}#字典用于录入商品信息

def shpinxinxi():

strxpname=input("请录入商品名称:")

inspdj=int(input("请输入商品单价:"))

dict_spxx["商品名称"]=strxpname

dict_spxx["单价"]=inspdj

print("你录入的信息是:"+str(dict_spxx))

def sp_ly():

'''

调用shpinxinxi()函数,循环录入商品信息,编码自动生成

'''

leng=100

while True:

strlr=input("y继续录入,n退出:")

if strlr == "y":

shpinxinxi()#调用函数

if dict_myshanpin_iof!={}:#如果原商品字典不是空的

lent=len(dict_myshanpin_iof)#字典元素长度

list_len=list(dict_myshanpin_iof.keys())#把字典的键(编号)变成列表

dict_myshanpin_iof[list_len[lent-1]+1]= dict_spxx#把商品字典作为值传给字典的编号键

else:#如果是空的就直接加入

leng+=1

dict_myshanpin_iof[leng]=dict_spxx

if strlr=="n":

break

sp_ly()

print(dict_myshanpin_iof)

**************************************************

2、商品录入

参数传递法

dict_myshanpin_iof={101:{"商品名称": "毛毛熊", "单价":25},

102:{"商品名称":"布娃娃","单价":52},

103:{"商品名称":"小汽车","单价":35},

104:{"商品名称":"山地车","单价":120},

105:{"商品名称":"泡泡机","单价":29},

106:{"商品名称":"玩具枪","单价":200},

}

dict_spxx = {}#字典用于录入商品信息

def shpinxinxi(kargs):

strxpname=input("请录入商品名称:")

inspdj=int(input("请输入商品单价:"))

kargs["商品名称"]=strxpname

kargs["单价"]=inspdj

print("你录入的信息是:"+str(kargs))

def sp_ly(kargs):

'''

调用shpinxinxi()函数,循环录入商品信息,编码自动生成

'''

leng=100

while True:

strlr=input("y继续录入,n退出:")

if strlr == "y":

shpinxinxi(dict_spxx)#调用函数

if dict_myshanpin_iof!={}:#如果原商品字典不是空的

lent=len(dict_myshanpin_iof)#字典元素长度

list_len=list(dict_myshanpin_iof.keys())#把字典的键(编号)变成列表

dict_myshanpin_iof[list_len[lent-1]+1]= kargs#把商品字典作为值传给字典的编号键

else:#如果是空的就直接加入

leng+=1

dict_myshanpin_iof[leng]=kargs

if strlr=="n":

break

sp_ly(dict_spxx)

print(dict_myshanpin_iof)

3、运用字典传参方法

dict_myshanpin_iof={101:{"商品名称": "毛毛熊", "单价":25},

102:{"商品名称":"布娃娃","单价":52},

103:{"商品名称":"小汽车","单价":35},

104:{"商品名称":"山地车","单价":120},

105:{"商品名称":"泡泡机","单价":29},

106:{"商品名称":"玩具枪","单价":200},

}

def youxi(number,**kwargs):

'''

接收商品字典参数{"商品名称": Nono, "单价":Nono}

:param number: 商品编号

:param kwargs: 商品字典

'''

dict_myshanpin_iof[number]=kwargs

print(dict_myshanpin_iof)

def fun_lr():

'''

向字典youxi(number,**kwargs)录入数据

格式:youxi(number,商品名称"=Nono, 单价"=:Nono}

:return:

'''

num=100

while True:

ts=input("录入y,退出n")

if ts=="y":

name = input("输入名称:")

dj = int(input("输入价格:"))

if dict_myshanpin_iof=={}:

num+=1

youxi(num,商品名称=name,单价=dj)

else:

nmbr=len(dict_myshanpin_iof)+101

youxi(nmbr, 商品名称=name, 单价=dj)

else:

break

fun_lr()

print(dict_myshanpin_iof)

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章