扇贝编程python学习笔记-基础篇5
2021/12/30 12:07:35
本文主要是介绍扇贝编程python学习笔记-基础篇5,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 第七关
- 1.print和return的区别
- 2.return 语句的“陷阱”
- 3.报错处理
- 4.学习巩固
第七关
知识点复习
学习用时:30min
随堂测验+上机作业:30min
随堂作业正确率:8/10
1.print和return的区别
return | print() | |
---|---|---|
概念 | python关键字 | 函数 |
作用 | 只能在函数内使用,在函数内不直接显示数据内容,但将结果传到函数外供使用 | 随处可见,在函数内直接打印数据内容,但打印完就销毁结果 |
return 是将函数内的计算结果传输到函数外的唯一通道。内置函数 print() 实现的输出功能,将结果显示出来,一般用于验证。
def func1(x): y = x + 1 def func2(x): y = x + 1 return y y1 = func1(1) # y1 的值为 None y2 = func2(1) # y2 的值为 2 print(y1) # 输出:None, 因为没有return,所以阅后即焚 print(y2) # 输出:2 #---------------------------------------------------------------------------- def math(x): y = x + 1 print(y) print(math(3)) #输出结果 #4 #None
2.return 语句的“陷阱”
函数的 return 语句执行后,就会退出函数,所以函数内部,在 return语句后执行的代码是无效的。
def f(x): y = 2 * x + 1 return y print(y) f(3) # 没有结果打印,因为return执行后整个函数就下班了 #---------------------------------------------------------------------------- def f(x): y = 2 * x + 1 if x > 2: return y else: print(y) f(1) # 输出:3 # 因为 if ... else 语句的条件判断中,return y 和 print(y) 在逻辑上是平行的代码并没有执行到return这个下班节点,所以可以有结果 # 但如果x=5或者是任何>2的数字 就都不会有结果
3.报错处理
# 报错:SyntaxError: bad input on line 1 # (语法错误:第 1 行输入有问题) # 报错:SyntaxError: invalid character in identifier # (语法错误:识别不了不支持的字符) 一般是中文标点 # 报错:IndentationError: unindent does not match any outer indentation level # (缩进错误:缩进变小了,但是其它地方匹配不到和他一样的缩进层级) # 报错:SyntaxError: non-default argument follows default argument # (语法错误:非默认参数被放到了默认参数后面) # 报错:NameError: name 'x' is not defined # (变量名错误:变量名 'x' 没有被定义)
4.学习巩固
练习1
每月本金 = 贷款本金 / 还款期数,这部分是固定不变的。
每月利息 = (贷款本金 - 累计已还本金) × 月利率
等额本金的每月偿还本息和计算公式如下:
每月偿还本息和 = 贷款本金 / 还款期数 + (贷款本金 - 累计已还本金) × 月利率
#假设贷款 p=100 万,计划分 30 年还完 还款期数n=360,月利率r = 0.41%,m 是还款月数 def calc_loan(p, n, r, m): x1 = p / n #累计已还本金 h = (m - 1) * x1 x2 = (p - h) * r y = x1 + x2 return y # 打印第 10 个月的偿还本息和 print(calc_loan(1000000, 360, 0.0041, 10))
这个累计已还本金我竟然想了半天,果然是太久没动脑子了
练习 2
内置 abs() 函数的作用是计算一个数的绝对值,写一个my_abs() 实现此功能。
def my_abs(): x = int(input(print("请输入一个数字:"))) if x > 0: return x else: return -x print(my_abs())
练习3 递归计算斐波那契数列
这个练习感觉到了自己思维的局限性,还需要多练习
#这个是自己写的 def fibo(n): if n == 1: return 0 if n == 1: return 0 return fibo(n-1) + fibo(n-2) #---------------------------------------------------------------------------- #这个是参考答案的 def fibo(n): if n <= 1: return n else: return fibo(n-1) + fibo(n-2) print(fibo(10)) # 55 print(fibo(23)) # 28657
这篇关于扇贝编程python学习笔记-基础篇5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02Python编程基础
- 2024-11-01Python 基础教程
- 2024-11-01用Python探索可解与不可解方程的问题
- 2024-11-01Python编程入门指南
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南