python计算存款本⾦和利息_python⼊门教程NO.8⽤python写
个存款利息计算器
本⽂涉及的python基础语法为def函数,return,函数的各参数⽰例,匿名函数等
函数初识
函数是⼀段组织好的 可重复使⽤的 ⽤来实现特定功能的代码块。
函数能提⾼代码的模块性,和代码的重复利⽤率,使⼀些重复编写的代码简洁化,增加代码的可读性和美观性。
为了便于⼤家理解,我们将函数⽐作电饭煲,给它添加⽶饭和⽔,利⽤它的煮饭功能,就可以得到⽶饭
在这⾥,⽶饭和⽔就是需要传递给函数的参数,⽽煮饭功能就是⼀段可以重复利⽤的代码块,⽶饭就是利⽤函数得到的输出。
⾃定义函数
定义⼀个⾃定义函数需要遵循以下的规则:
函数代码块以def 关键字开头,后接函数标识符名称和圆括号():
a = 0
def example(x):
a = a + x
return a
def 是函数定义的关键字(define 的缩写),example是我们⾃定义的⼀个函数名称,括号⾥⾯的x表⽰⼀
个参数
这⾥提醒⼀下各位新⼿⼯程狮,千万不要忘记括号后⾯这个英⽂ :!Python 中的函数以英⽂冒号开始,并且需要缩进,以表⽰接下来是函数内部的代码了
a = a + x和return a为函数的函数体,这部分就是函数的功能实现和输出返回值的地⽅
return [表达式]结束函数,并将a的值返回给调⽤⽅。不带表达式的return相当于返回 None
我们通过⼀个案例来理解⼀下
我们设计了⼀个简单的计算器,⽤来计算x * y 的值
def math(x, y): # 这⾥我们给math函数传⼊两个参数,分别是x和y,这⾥的x和y是math()的形参
num = x * y # 我们将x * y 的值赋值给num
return num # return将x * y 的值返回给math函数,并结束函数
x = int(input('请输⼊⼀个整数:')) # 在键盘输⼊⼀个整数并进⾏类型转换赋值给x
y = int(input('请输⼊⼀个整数:')) # 在键盘输⼊⼀个整数并进⾏类型转换赋值给y
print(math(x, y)) # 调⽤math函数,并将math函数的值打印出来,这⾥的x和y是math()的实参
在上⾯的例⼦中,我们讲到了形参和实参,那么具体该如何区分它们呢?
形参是形式上的参数的缩写,实参是实际上的参数的缩写。
以上⾯的代码为例:定义函数时的参数 x,y 为形参,调⽤函数时传⼊的参数 5 , 2为实参。
函数的参数
参数名
描述
形参
定义函数时传⼊的参数
实参
调⽤函数时传⼊的参数
关键字参数
使⽤关键字参数允许函数调⽤时参数的顺序与声明时不⼀致
必备参数
须以正确的顺序传⼊函数。调⽤时的数量必须和声明时的⼀样
默认参数
调⽤函数时,默认参数的值如果没有传⼊,则被认为是默认值
不定长参数
函数能处理⽐当初声明时更多的参数,这些参数叫做不定长参数
关键字参数的应⽤⽰例
def math(x, y):
num = x * y
return num
print(math(y = 2 , x = 1)) #我们指定了传⼊参数的值,可以允许函数调⽤的时候顺序不与形参⼀致#输出:2
必备参数的应⽤⽰例
def math(x):
num = x * 2
return num
print(math()) #我们没有对函数传⼊参数,结果就发⽣了错误
#输出:TypeError: math() missing 1 required positional argument: 'x'
默认参数的应⽤⽰例
def math(x , y = 5): #默认参数y的值为2
num = x * y
return num
print(math( x = 1,y = 2 )) #当函数调⽤的时候,默认参数y的值传⼊为2,替换了默认的值#输出:2
print(math(x = 2 )) ##当函数调⽤的时候,没有调⽤默认参数,那么y的值为5
#输出:10
不定长参数的应⽤⽰例
#可变参数 *args 被打包成 tuple 元组
def demo(a, b, *args):
print(a)
print(b)
print(args)
demo(1, 2 , 3 , 4 , 5)
#输出:
1 # a的值为1
2 # b的值为2
(3, 4, 5) # args为⼀个元组(3, 4, 5)
#关键字可变参数 **kwargs 被打包成 dict 字典,注意kwargs前⾯有两个*号
def demo(a, b, **kwargs):
print(a)
print(b)
print(kwargs)
demo(1, 2 , name = 'python⼯程狮', age = '28')
#输出:
1 # a的值为1
2 # b的值为2
{'name': 'python⼯程狮', 'age': '28'} #**kwargs为⼀个字典
python 使⽤ lambda 来创建匿名函数
lambda只是⼀个表达式,函数体⽐def简单很多。
lambda的主体是⼀个表达式,⽽不是⼀个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有⾃⼰的命名空间,且不能访问⾃有参数列表之外或全局命名空间⾥的参数。
虽然lambda函数看起来只能写⼀⾏,却不等同于C或C++的内联函数,后者的⽬的是调⽤⼩函数时不占⽤栈内存从⽽增加运⾏效率。|匿名函数⽰例
#匿名函数语法结构
num = lambda 参数1, 参数2...: 函数表达式 #不限制关键词个数
#使⽤⽰例:
num = lambda x, y : x * y
print('他们相乘的积是:', num(5, 2))
#输出: 他们相乘的积是: 10
print('{}乘以{}的积是:{}'.format(5 , 2 , num(5, 2)))
#输出: 5乘以2的积是:10
变量作⽤域
程序的所有的变量并不是在任何位置都可以访问的。能否访问取决于这个变量是在哪个位置赋值的。
变量的作⽤域决定了在哪⼀部分程序可以访问哪个特定的变量名称。两种最基本的变量作⽤域是:
全局变量
局部变量
全局变量和局部变量
变量
定义
访问权限
全局变量
在函数内部定义的变量拥有⼀个局部作⽤域
局部变量只能在被声明的函数内部访问
局部变量
python新手代码及作用
在函数外部定义的变量拥有⼀个全局作⽤域
全局变量可以在整个程序范围内访问
#全局变量和局部变量的使⽤⽰例
num = 1 #这⾥的num是全局变量
def fuc(x , y):
num = x + y #这⾥的num是局部变量
print('这是函数内的局部变量:' , num)
fuc(5, 10)
#输出:这是函数内的局部变量: 15
print('这是函数外的全局变量:' , num)
#输出:这是函数外的全局变量: 1
存款利息计算器
假如你每⽉存2000到银⾏,存1年的年利率是2.6%,存3年的年利率为3.8%,存5年的年利率为4.2%这种存款⽅式属于零存整取,利息计算公式为:
利息=⽉存⾦额×累计⽉积数×⽉利率
累计⽉积数=(存⼊次数+1)÷2×存⼊次数
假如存3年,那么:利息=2000×累计⽉积数×(3.8%÷12), 累计⽉积数=(36+1)÷2×36
请根据提⽰,设计⼀个零存整取的利息计算器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论