一、返回值
def f1 ( money) :
'''功能:计算商品金额并计算折扣结果
money:保存商品金额列表
返回值:商品的合计金额和折扣后的金额
'''
moneyold = sum ( money)
moneynew = moneyold
if 500 <= moneyold < 1000 :
moneynew = '{:.2f}' . format ( moneyold* 0.9 )
elif 1000 <= moneyold < 2000 :
moneynew = '{:.2f}' . format ( moneyold* 0.8 )
elif 2000 <= moneyold < 3000 :
moneynew = '{:.2f}' . format ( moneyold* 0.7 )
elif moneyold >= 3000 :
moneynew = '{:.2f}' . format ( moneyold* 0.6 )
return moneyold, moneynew
print ( "\n开始结算====\n" )
listmoney = [ ]
while True :
inmoney = float ( input ( "请输入商品金额(输入0表示输入完毕):" ) )
if int ( inmoney) == 0 :
break
else :
listmoney. append( inmoney)
money = f1( listmoney)
print ( "合计金额:" , money[ 0 ] , "应付金额:" , money[ 1 ] )
开始结算====
请输入商品金额(输入0表示输入完毕):465
请输入商品金额(输入0表示输入完毕):789
请输入商品金额(输入0表示输入完毕):1598
请输入商品金额(输入0表示输入完毕):2689
请输入商品金额(输入0表示输入完毕):4367
请输入商品金额(输入0表示输入完毕):0
合计金额: 9908.0 应付金额: 5944.80
二、变量的作用域
def f2 ( ) :
a1 = "人生得意须尽欢,莫使金樽空对月!"
print ( "局部变量a1=" , a1)
f2( )
print ( "局部变量a1=" , a1)
局部变量a1= 人生得意须尽欢,莫使金樽空对月!
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-5-c7bf3660092f> in <module>()
4 print("局部变量a1=",a1) #输出局部变量的值
5 f2() #调用函数
----> 6 print("局部变量a1=",a1) #函数体外输出局部变量的值
NameError: name 'a1' is not defined
a2 = "烟笼寒水月笼沙,夜泊秦淮近酒家!"
def f3 ( ) :
a2 = "人生得意须尽欢,莫使金樽空对月!"
print ( "局部变量a2=" , a2)
f3( )
print ( "全局变量a2=" , a2)
局部变量a2= 人生得意须尽欢,莫使金樽空对月!
全局变量a2= 烟笼寒水月笼沙,夜泊秦淮近酒家!
a3 = "烟笼寒水月笼沙,夜泊秦淮近酒家!"
def f4 ( ) :
global a3
a3 = "人生得意须尽欢,莫使金樽空对月!"
print ( "全局变量a3=" , a3)
f4( )
print ( "全局变量a3=" , a3)
全局变量a3= 人生得意须尽欢,莫使金樽空对月!
全局变量a3= 人生得意须尽欢,莫使金樽空对月!
pinetree = "我是一颗高傲的松树!"
def f5 ( ) :
pinetree = "挂上彩灯,穿上红白棉袄,戴上圣诞帽,我变成圣诞树啦!@^^@"
print ( pinetree)
print ( "\n下雪啦…………\n" )
print ( "=" * 15 , "开始做梦!" , "=" * 15 )
f5( )
print ( "=" * 15 , "梦醒了!" , "=" * 15 )
pinetree = "我身上披满雪花" + pinetree + "-_-"
print ( pinetree)
下雪啦…………
=============== 开始做梦! ===============
挂上彩灯,穿上红白棉袄,戴上圣诞帽,我变成圣诞树啦!@^^@
=============== 梦醒了! ===============
我身上披满雪花我是一颗高傲的松树!-_-
三、匿名函数
import math
def f6 ( r) :
return math. pi* r* r
r = 100
print ( "半径为" , r , "的圆的面积为:" , f6( r) )
半径为 100 的圆的面积为: 31415.926535897932
r1 = 100
s = lambda r1: math. pi* r1* r1
print ( s( r1) )
31415.926535897932
book = [ ( "平凡的世界" , 22.5 , 120 ) , ( "零基础学Python" , 55 , 95 ) , ( "不生病的智慧" , 22.5 , 36 ) , ( "经济学原理" , 50 , 128 ) ]
print ( "商品信息\n" , book, "\n" )
book. sort( key = lambda x : ( x[ 1 ] , x[ 1 ] / x[ 2 ] ) )
print ( "排序后的商品信息\n" , book, "\n" )
商品信息
[('平凡的世界', 22.5, 120), ('零基础学Python', 55, 95), ('不生病的智慧', 22.5, 36), ('经济学原理', 50, 128)]
排序后的商品信息
[('平凡的世界', 22.5, 120), ('不生病的智慧', 22.5, 36), ('经济学原理', 50, 128), ('零基础学Python', 55, 95)]
import math
def f7 ( r) :
return math. pi* 2 * r
list7 = [ 5 , 6 , 7 , 8 , 9 , 10 ]
for r in list7 :
print ( "半径为" , r , "的圆的周长为:" , f7( r) )
半径为 5 的圆的周长为: 31.41592653589793
半径为 6 的圆的周长为: 37.69911184307752
半径为 7 的圆的周长为: 43.982297150257104
半径为 8 的圆的周长为: 50.26548245743669
半径为 9 的圆的周长为: 56.548667764616276
半径为 10 的圆的周长为: 62.83185307179586