当前位置: 首页 > 后端技术 > Python

Python入门教程NO.8用python写一个存款利息计算器

时间:2023-03-26 00:22:55 Python

本文涉及到的python基本语法是def函数,return,函数参数的例子,匿名函数等函数第一个函数是一个组织良好且可重用用于实现特定功能的代码块。函数可以提高代码的模块化和代码的复用率,简化一些重复的代码,增加代码的可读性和美观性。为了让大家更容易理解,我们把功能比作电饭锅,往里面加米和水,用它的煮饭功能得到米饭,这里米和水就是需要传递给函数,而cooking函数是一段可以重复使用的代码块,rice是使用函数得到的输出。定义一个自定义函数要遵循以下规则:函数代码块以def关键字开头,后面是函数标识符名称和括号():a=0defexample(x):a=a+xreturnadef是关键字函数定义(define的缩写)的,example是我们自定义的函数名,括号中的x表示参数。在此提醒各位工程师新手,不要忘记括号后面的英文:!Python中的函数以冒号开头,需要缩进以表示后面是函数内部的代码。a=a+x和returna是函数的函数体。这部分是函数的函数实现和返回值处的输出return[expression]结束函数,将a的值返回给调用者。不带表达式的return相当于returnNone我们通过一个案例来理解我们设计了一个简单的计算器来计算x*y的值defmath(x,y):#这里我们在数学函数中传入了两个参数,分别是x和y,其中x和y是math()的形参num=x*y#我们将x*y的值赋给numreturnnum#return将x*y的值返回给Math函数,endfunctionx=int(input('Pleaseenteraninteger:'))#在键盘上输入一个整数并进行类型转换赋值toxy=int(input('Pleaseenteraninteger:'))#In从键盘输入一个整数并进行类型转换conversionassignmenttoyprint(math(x,y))#调用math函数并打印出math函数的值,其中x和y是math()的实际参数在上面的例子中,我们讲了形参和实际参数,那么如何区分它们呢?形参是形式参数的缩写,实参是实参的缩写。以上面代码为例:定义函数时的参数x和y为形参,调用函数时传入的参数5和2为实参。函数的参数参数名称说明形式参数定义函数时传入的参数实际参数调用函数时传入的参数关键字参数关键字参数的使用使得调用函数时参数的顺序与当时不一致ofdeclaration强制参数必须以正确的顺序传递给函数。调用时的号码必须与申报时的号码相同。调用函数时,如果没有传入默认参数的值,则认为是默认值。不定参数函数可以处理比最初声明时更多的参数。这些参数称为不确定的。长参数关键字参数的应用示例defmath(x,y):num=x*yreturnnumprint(math(y=2,x=1))#我们指定传入参数的值,这允许函数调用有时orderisnotconsistentwiththeformalparameters#Output:2个必需参数的应用示例defmath(x):num=x*2returnnumprint(math())#我们没有给函数传入参数,出错了结果#Output:TypeError:math()missing1requiredpositionalargument:'x'defmath(x,y=5):#Thevalueofthedefaultparameteryis2num=x*yreturnnumprint(math(x=1,y=2))#调用函数时,传入默认参数y的值为2,替换默认值#Output:2print(math(x=2))##调用函数时,如果不调用默认参数,则y的值为5#Output:10变长参数应用实例#可变参数*args被打包成元组tuplesdefdemo(a,b,*args):print(a)print(b)print(args)demo(1,2,3,4,5)#Output:1#a的值is12#b的值为2(3,4,5)#args是一个元组(3,4,5)#关键字变量参数**kwargs被打包成一个dict字典,注意里面有两个*数字kwargs前面defdemo(a,b,**kwargs):print(a)print(b)print(kwargs)demo(1,2,name='pythonengineeringlion',age='28')#Output:1#a的值为12#b的值为2{'name':'pythonengineeringlion','age':'28'}#**kwargs是一个字典python使用lambda创建匿名函数lambda只是一个表达式,函数体比def大得多。lambda的主体是一个表达式,而不是代码块。lambda表达式只能封装有限的逻辑。lambda函数有自己的命名空间,不能访问自己的参数列表之外或全局命名空间中的参数。虽然看起来lambda函数只能写一行,但并不等同于C或C++的内联函数。后者的目的是通过在调用小函数时不占用栈内存来提高运行效率。|匿名函数示例#匿名函数语法结构num=lambdaParameter1,parameter2...:Functionexpression#关键字数量不限#使用示例:num=lambdax,y:x*yprint('它们相乘的乘积是:',num(5,2))#Output:它们的乘积是:10print('{}乘以{}的乘积是:{}'.format(5,2,num(5,2)))#Output:5乘以2的乘积是:10变量作用域程序的所有变量在任何地方都不可访问。是否可以访问取决于变量赋值的位置。变量的范围决定了程序的哪一部分可以访问哪个特定的变量名。变量作用域的两种最基本类型是:全局变量局部变量全局变量和局部变量变量定义访问全局变量在函数内部定义的变量具有局部作用域局部变量只能在声明它们的函数内部访问该函数具有全局范围。整个程序都可以访问全局变量#全局变量和局部变量的使用示例num=1#这里的num是一个全局变量deffuc(x,y):num=x+y#这里的num是一个局部变量print('Thisisalocalvariableinsidethefunction:',num)fuc(5,10)#Output:Thisisalocalvariableinsidethefunction:15print('Thisisaglobalvariableoutsidethefunction:',num)#Output:输出:这是函数外的一个全局变量:1存款利息计算器如果每个月存2000到银行,存1年年利率2.6%,存3年年利率3.8%。5年期存款年利率为4.2%。这种入金方式属于零入金、一次性取款。利息的计算公式为:利息=每月存款金额x累计月积x每月利率累计月积=(存款次数+1)÷2×存款次数如果你存了3年,那么:利息=2000×累计月积×(3.8%÷12),累计月积=(36+1)÷2×36请按提示设计零存款取息计算器