大数协python训练营打卡笔记Task02
2021/11/25 22:11:38
本文主要是介绍大数协python训练营打卡笔记Task02,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、学习知识点概要
条件语句(if语句、if-else语句、if-elif-else语句、assert关键词)
循环语句(while循环、while-else循环、for循环、for-else循环、range函数、enumerate函数、break语句、continue语句、pass语句、列表/元组/字典/集合推导式)
二、学习内容
(一)条件语句
(1)if语句
expression为条件表达式;expr_true_suite为代码块
if expression: expr_true_suite
①单个if语句可以通过布尔操作符and,or,not进行多重判断
②只有当表达式为真时,才会执行代码块
(2)if-else语句
if expression: expr_true_suite else: expr_false_suite
表示:
若条件成立,就执行其包含的某条语句或某个代码块;
若条件不成立,就执行另外的某条语句或代码块。
注意:if语句支持嵌套,通过缩进进行表示,需注意else的悬挂问题。
【例子】
a=3 b=5 small = a if a < b else b print(small) #3
(3)if-elif-else语句
if expression1: expr1_true_suite elif expression2: expr2_true_suite . . elif expressionN: exprN_true_suite else: expr_false_suite
表示:
判断多个条件,若第1个条件不成立,则判断第2个条件;若第2个条件不成立,则判断第3个条件(若有条件成立,则执行特定代码块中的代码)……最后添加的else表示上面所有条件均不成立的情况下,执行某条代码块。
(4)assert关键词
assert称为“断言”,当这个关键词后边的条件为 False 时,程序崩溃并输出:AssertionError
(二)循环语句
(1)while循环
while 布尔表达式: 代码块
while循环的代码块会一直执行直到布尔表达式的值为假;
(2)while-else循环
while 布尔表达式: 代码块 else: 代码块
while执行完包含的代码块后执行else包含的代码块。(除非while循环中出现跳出循环的语句)
(3)for循环(迭代循环)
for 迭代变量 in 可迭代对象: 代码块
序列迭代器,可以遍历任何有序序列(str、list、tuple)和任何可迭代对象(dict)。
【例子】
for each in "Dashuxie": print(each,end="") #Dashuxie
(4)for-else循环
for 迭代变量 in 可迭代对象: 代码块 else: 代码块
同while-else循环,for执行完包含的代码块后执行else包含的代码块。(除非for循环中出现跳出循环的语句)
(5)range函数
range([start,] stop[, step=1])
①有三个参数,用中括号括起来的两个参数代表可选;
②step=1代表默认增减值为1;
③range函数代表的是生成数字序列:从start参数到stop参数,但不包括stop参数的值,以step的值递增减进行运算。
(6)enumerate函数
enumerate(sequence, [start=0])
①sequence代表支持迭代的对象
②start是下标开始的位置
③返回enumerate(枚举)对象
④可与for循环结合使用,用enumerate(A,j)还可以确定索引起始值为j(默认值为0)。(返回A中元素)
(7)break语句
break语句可以跳出当前所在层循环体。
(8)continue语句
continue语句表示终止本轮循环并开始下一轮循环。
注意:无论是break语句还是continue语句,都只能作用于一层循环体。
(9)pass语句
不做任何事,但用于需要语句的位置,防止提示出错。
(10)列表/元组/字典/集合推导式
列表推导式
[ expr for value in collection [if condition] ]
输出:[-3,-2,-1,0,1,2,3]
元组推导式
( expr for value in collection [if condition] )
输出:(0,1,2,3)
字典推导式
{ key_expr: value_expr for value in collection [if condition] }
输出:{0: True, 3: False, 6: True, 9: False}
集合推导式
{ expr for value in collection [if condition] }
输出:{1,2,3}(不重复 同集合的定义)
其它
三、学习问题与解答(自己遇到的问题+课后题)
【自己的问题】
1.不理解字典推导式
参考了链接:Python字典推导式 (biancheng.net);python的各种推导式(列表推导式、字典推导式、集合推导式) - 苍松 - 博客园 (cnblogs.com)
大概是和列表推导式类似,只不过改中括号为大括号。
2.不理解enumerate函数的含义
参考链接:python enumerate用法总结_竹聿Simon的专栏-CSDN博客_enumerate
我的理解是生成了一个类似于目录的索引。
【课后练习题】
1、编写一个Python程序来查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间。
for i in range(1500,2701): if (i % 7 == 0) & (i % 5 == 0): print(i)
2、龟兔赛跑游戏
确实不会写 写一点思考
①由于要对数值进行比较并且最终输出三种结果,考虑到的应该是if-elif-else语句
②由于v1,v2,t,s限定范围,考虑range函数
③l不仅限定范围还规定为v1,v2的公倍数,此时也要用到if语句:
if (l % v1 == 0) & (i % v2 == 0 ):
……
④秒数通过运算算出
就想到这里而已……
四、学习思考与总结
1.range有三种形式且参数都只能是整型:
range(stop)
range(start,stop)
range(start,stop,step)
start和stop的关系类似于区间中的左闭右开
要取0~10,必须输入:range(11)
【例子】
for i in range(11): print(i)
2.range的step还可以是负数
【例子】
for i in range(10,4,-2): print(i) #10 8 6
3.总结
①第一次接触推导式,不知道要怎么样去运用和理解。
②有些例子还不能很好地理解,自己在给的文件笔记里面做了标记,打算后面如果遇到了再回来打开文件进行理解。
③遇到完整的题目还是不知道从何下手。
④提前看了相关的教学视频,基本上可以掌握和运用基础的条件语句和循环语句。
⑤本次学习加笔记用时大概四个小时左右,效率还可以。
这篇关于大数协python训练营打卡笔记Task02的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程