目录
案例:
水果店老板有N种水果,如果老板要新进一批水果该怎么循环添加?当客人买不同水果的时候该怎样计算?
思路:
1、首先思路是水果老板店里的水果和价钱做一个字典,然后利用字典循环添加新的水果和价钱
2、创建一个新的空字典,用来循环添加计算客户需求的水果和购买数量,然后将客人买的水果单价和数量对应上,
3、然后进行循环计算,得出最后的总价
A=dict() #水果店老板N种类型水果
de=input('是否添加新品水果:yes/no')
def f():
B=input('输入需要新添加的水果')
C=int(input('输入该类水果的价钱')) #定义需要添加的水果名称和价钱
if B in A:
print('水果店中已有该类水果')
else:
A[B]=C #向字典中添加该类水果
print(A)
imp=input('是否继续添加新品水果:yes/no')
if imp=='yes':
f()
if de=='yes':
f()
ins=input('是否购买水果:yes/no') #定义一个可控变量
Int = dict() #在外面定义一个接收购买的值
# 定义客户购买的水果数量,不过重新购买的话需要清零
def b():
print(A)
data = input('购买的水果品种') # 定义客户购买的水果
F = int(input('购买水果的数量/斤')) #定义购买的数量
if data in A:
print(A)
Int[data] = F
n = len(Int)
# 计算字典中购买水果的个数,本来想利用个数做循环的,发现不可行
print(Int)
sf= 0
sf+=A[data]*F #对应输入data后的value值相乘
print(sf) #这一步已经计算出单价,目前总金额计算如何循环添加
L = input('是否继续购买:yes/no')
if L=='yes':
b()
else:
po=0
for key in Int: #key为字典中的键
po+=A[key]*Int[key] #循环key对应的value相乘
print(po)
else:
print('输入错误,请重新输入')
if ins=='yes':
b()
#这里就不写else了,思路是购买一次后将字典清空,然后再次购买重新执行,然后将账单流入数据库
def () 函数说明:
定义一个可调用的封装函数,类似打包好的快递,分发等于调用
语法: def 自定义标识符(参数1,参数2):
自定义标识符号:就是给封装函数取名字
参数: 可以写可以不写
举例不写参数直接调用
def a():
print('aa')
a()
输出 aa
举例写参数利用参数调用,a(b,c)为形参,a(1,2)为实参
def a(b,c):
A=a+b
print(A)
a(1,2)
输出 为3
global 内部声明函数
global内部函数声明,指的是可以使函数内部对函数外部的变量进行操作
一般是调用函数做变量处理才会带入变量声明
举例无内部声明函数,调用函数后,函数内的变量对函数外的变量不会影响
举例有内部函数声明,调用函数后,内部声明函数会对函数外部的变量造成影响