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()的实参

python函数应用案例

在上面的例子中,我们讲到了形参和实参,那么具体该如何区分它们呢?

形参是形式上的参数的缩写,实参是实际上的参数的缩写。

以上面的代码为例:定义函数时的参数 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

变量作用域

程序的所有的变量并不是在任何位置都可以访问的。能否访问取决于这个变量是在哪个位置赋值的。

变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。两种最基本的变量作用域是:

全局变量

局部变量

全局变量和局部变量

变量

定义

访问权限

全局变量

在函数内部定义的变量拥有一个局部作用域

局部变量只能在被声明的函数内部访问

局部变量

在函数外部定义的变量拥有一个全局作用域

全局变量可以在整个程序范围内访问

#全局变量和局部变量的使用示例

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

请根据提示,设计一个零存整取的利息计算器

python银行利息问题_python入门教程NO.8 用python写个存款利息计算器相关推荐

  1. python存款模块_python入门教程NO.8用python写个存款利息计算器

    python 入门教程 NO.8 用 python 写个存款利息计算器 本文涉及的 python 基础语法为 def 函数, return ,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好的 ...

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

    本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好的 可重复使用的 用来实现特定功能的代码块. 函数能提高代码的模块性,和代码的重复利用 ...

  3. python加油代码_python入门教程NO.5 用python写个自动选择加油站的小程序

    本文涉及的python基础语法为:if条件分支 Python条件分支是通过一条或者多条语句的执行结果True或者False来决定是否执行相应的代码块. if单向条件语法结构 if 判断条件: 代码块 ...

  4. python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏

    python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...

  5. 用python写一个彩票过滤器_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...

    python入门教程 python入门教程NO.6 用python做个简单的彩票号码统计分析工具 本文涉及的python基础语法是:字典.集合及for循环 字典的定义 字典也是一种可变的容器,它可以存 ...

  6. python写彩票预测软件_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...

    python入门教程NO.6 用python做个简单的彩票号码统计分析工具-1.jpg (37.04 KB, 下载次数: 0) 2020-11-27 14:29 上传 python入门教程 pytho ...

  7. 存款利息python题_python入门教程NO.8 用python写个存款利息计算器 已

    本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段 组织好的 可重复使用的 用来实现特定功能的 代码块. 函数能提高代码的模块性,和代码的重复 ...

  8. python计算存款本金和利息_python入门教程NO.8 用python写个存款利息计算器

    本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好的 可重复使用的 用来实现特定功能的代码块. 函数能提高代码的模块性,和代码的重复利用 ...

  9. 用python做自我介绍_python入门教程NO.2 用python做个自我介绍

    本文涉及的python基础语法为:数据类型等 数据类型 1. 字符串的拼接 我们在上一章中已经简单介绍了一下字符串的创建方式,这里我们简单学习一下字符串的运算和拼接. 字符串的运算 `字符串的加法` ...

最新文章

  1. 无人驾驶急需解决:规划控制和传感器价格高两大问题(附Apollo算法)
  2. GIS软件开发工具包TatukGIS Developer Kernel更新至v11.5,修复紧急问题
  3. Java JSON、XML文件/字符串与Bean对象互转解析
  4. origin中文版散点图拟合曲线_「测试狗」Origin入门教程:如何进行单段及多段线性拟合...
  5. Alpha(5/10)
  6. 第一印象!游戏开始引导界面决定留存
  7. python 扫描仪_基于Opencv和Python的多选扫描仪
  8. java base64 加解密_java Base64加解密
  9. 数学概念——J - 数论,质因数分解
  10. Zorin OS:Windows用户无痛转移Linux
  11. C语言实例第8期:模拟银行账户登陆
  12. excel软件做折线图
  13. COMSOL电化学专题培训通知
  14. 数据结构-买卖青蛙最大利润
  15. 枪花--DON'T CRY
  16. Flash应用之百宝箱
  17. 在EXCEL用SUBSTITUTE函数计算英文单词数
  18. 程序员的双肩包,大概能装下整个宇宙!
  19. 【ChatGPT军事专家】岸防炮的射速是多少,如何攻破岸防炮
  20. android零宽空格,零宽字符文本水印原理

热门文章

  1. ★一人一首成名歌曲★
  2. 苹果退款_苹果如何退款
  3. 38岁女儿不恋爱没有稳定工作老母亲愁哭
  4. Python作画玫瑰花
  5. 如何成为一个很厉害的人?
  6. [mac]添加系统自带辞典或下载的词典包
  7. (私人收藏)64个精致的页面loadinggif动画
  8. 金山系不惧微软,前有WPS力扛Office,后有eversheet接力再战
  9. 【打卡-Coggle竞赛学习2023年1月】文本相似度匹配
  10. 第二章 软件项目确立