刻意练习:Python基础 -- Task02. 条件与循环
背景
我们准备利用17天时间,将 “Python基础的刻意练习” 分为如下任务:
- Task01:变量、运算符与数据类型(1day)
- Task02:条件与循环(1day)
- Task03:列表与元组(2day)
- Task04:字符串与序列(1day)
- Task05:函数与Lambda表达式(2day)
- Task06:字典与集合(1day)
- Task07:文件与文件系统(2day)
- Task08:异常处理(1day)
- Task09:else 与 with 语句(1day)
- Task10:类与对象(2day)
- Task11:魔法方法(2day)
- Task12:模块(1day)
这是我的第二次打卡内容。我学习 Python 的思路是,先去熟悉 Python 的整体语法框架与自己熟悉的编程语言进行知识点的连接,后面遇到问题再来慢慢补充,慢慢形成自己的知识结构。
Python 基础语法
1. 条件语句
if 语句
if expression:expr_true_suite
- if 语句的
expr_true_suite
代码块只有当条件表达式expression
结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。 - 单个 if 语句中的
expression
条件表达式可以通过布尔操作符and
,or
和not
实现多重条件判断。
if 2 > 1 and not 2 > 3:print('Correct Judgement!')# Correct Judgement!
else 语句
if expression:expr_true_suite
elseexpr_false_suite
- Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
guess = int(temp)
if guess == 8:print("你是小哥哥心里的蛔虫吗?")print("哼,猜对也没有奖励!")
else:print("猜错了,小哥哥现在心里想的是8!")
print("游戏结束,不玩儿啦!")
- Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题。
例子1
hi = 6
if hi > 2:if hi > 7:print('好棒!好棒!')
else:print('切~')
例子2
temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
guess = int(temp)
if guess > 8:print("大了,大了")
else:if guess == 8:print("你是小哥哥心里的蛔虫吗?")print("哼,猜对也没有奖励!")else:print("小了,小了")
print("游戏结束,不玩儿啦!")
elif 语句
if expression1:expr1_true_suite
elif expression2:expr2_true_suite..
elif expressionN:exprN_true_suite
else:expr_false_suite
- elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。
temp = input('请输入成绩:')
source = int(temp)
if 100 >= source >= 90:print('A')
elif 90 > source >= 80:print('B')
elif 80 > source >= 60:print('C')
elif 60 > source >= 0:print('D')
else:print('输入错误!')
assert 关键词
assert
这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError
的异常。
my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) > 0# AssertionError
- 在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。
assert 3 > 7# AssertionError
2. 循环语句
while 循环
while expression:suite_to_repeat
- while循环的
suite_to_repeat
子句会一直循环执行,直到expression
值为布尔假
count = 0
while count < 3:temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")guess = int(temp)if guess > 8:print("大了,大了")else:if guess == 8:print("你是小哥哥心里的蛔虫吗?")print("哼,猜对也没有奖励!")count = 3else:print("小了,小了")count = count + 1
print("游戏结束,不玩儿啦!")
for 循环
for iter_var in interables:suite_to_repeat
- 每次循环,
iter_var
迭代变量被设置为可迭代对象interales
的当前元素,提供给suite_to_repeat
语句块使用。
例子1
for i in 'ILoveLSGO':print(i, end=' ') # 不换行输出# I L o v e L S G O
例子2
member = ['张三', '李四', '刘德华', '刘六', '周润发']
for each in member:print(each)# 张三
# 李四
# 刘德华
# 刘六
# 周润发for i in range(len(member)):print(member[i])# 张三
# 李四
# 刘德华
# 刘六
# 周润发
range() 函数
range([start,] stop[, step=1])
- 这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
step=1
表示第三个参数的默认值是1。range
这个BIF的作用是生成一个从start
参数的值开始到stop
参数的值结束的数字序列,该序列包含start
的值但不包含stop
的值。
例子1
for i in range(2, 9): # 不包含9print(i)# 2
# 3
# 4
# 5
# 6
# 7
# 8
例子2
for i in range(1, 10, 2):print(i)# 1
# 3
# 5
# 7
# 9
enumerate()函数
enumerate(sequence, [start=0])
- sequence – 一个序列、迭代器或其他支持迭代对象。
- start – 下标起始位置。
- 返回 enumerate(枚举) 对象
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1)) # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
enumerate()
与 for 循环的结合使用
for i, a in enumerate(A)do something with a
用 enumerate(A)
不仅返回了 A
中的元素,还顺便给该元素一个索引值 (默认从 0 开始)。此外,用 enumerate(A, j)
还可以确定索引起始值为 j
。
languages = ['Python', 'R', 'Matlab', 'C++']
for language in languages:print('I love', language)
print('Done!')'''
I love Python
I love R
I love Matlab
I love C++
Done!
'''for i, language in enumerate(languages, 2):print(i, 'I love', language)
print('Done!')'''
2 I love Python
3 I love R
4 I love Matlab
5 I love C++
Done!
'''
break 语句
- break语句可以跳出当前所在层的循环。
import random
secret = random.randint(1, 10) #[1,10]之间的随机数while True:temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")guess = int(temp)if guess > secret:print("大了,大了")else:if guess == secret:print("你是小哥哥心里的蛔虫吗?")print("哼,猜对也没有奖励!")breakelse:print("小了,小了")
print("游戏结束,不玩儿啦!")
continue 语句
- continue终止本轮循环并开始下一轮循环。
for i in range(10):if i % 2 != 0:print(i)continuei += 2print(i)# 2
# 1
# 4
# 3
# 6
# 5
# 8
# 7
# 10
# 9
pass 语句
def a_func():# SyntaxError: unexpected EOF while parsing
pass
语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而pass
语句就是用来解决这些问题的。
def a_func():pass
3. 综合例子
passwdList = ['123', '345', '890']
valid = False
count = 3
while count > 0:password = input('enter password:')for item in passwdList:if password == item:valid = Truebreakif not valid:print('invalid input')count -= 1continueelse:break
总结
好了,到此为止有关于条件和循环语句的内容就介绍完了。
条件语句 (if, if-else, if-elif-else, nested if
) 是为了在不同条件下执行不同操作,而迭代循环 (while, for
) 是重复的完成相同操作。
如果有其它编程语言的基础,今天的内容应该比较容易理解。
好了,就到这里吧!See You!
参考文献:
- https://www.runoob.com/python3/python3-tutorial.html
- https://www.bilibili.com/video/av4050443
- https://mp.weixin.qq.com/s/DZ589xEbOQ2QLtiq8mP1qQ
相关图文:
- 资料分享:数学建模资料分享 – 图论部分
- 资料分享:数学建模资料分享 – 神经网络部分
- 如何利用 C# 实现 K 最邻近算法?
- 如何利用 C# 实现 K-D Tree 结构?
- 如何利用 C# + KDTree 实现 K 最邻近算法?
- 如何利用 C# 对神经网络模型进行抽象?
- 如何利用 C# 实现神经网络的感知器模型?
- 如何利用 C# 实现 Delta 学习规则?
- 如何利用 C# 实现 误差反向传播 学习规则?
- 如何利用 C# 爬取带 Token 验证的网站数据?
- 如何利用 C# 向 Access 数据库插入大量数据?
- 如何利用 C# + Python 破解猫眼电影的反爬虫机制?
刻意练习:Python基础 -- Task02. 条件与循环相关推荐
- 第四篇:python基础之条件和循环
阅读目录 一.if语句 1.1 功能 1.2 语法 1.2.1:单分支,单重条件判断 1.2.2:单分支,多重条件判断 1.2.3:if+else 1.2.4:多分支if+elif+else 1.2. ...
- python基础(条件及循环)
条件及循环语句 条件判断:if语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if 判断条件:执行语句--else:执行语句-- ** 开始有缩 ...
- Python基础之条件判断
Python基础之条件判断 一.环境介绍 二.条件判断介绍 三.if语句的使用 1.if的第一种使用方法 2.if的第二种使用方法 3.if的第三种使用方法 4.if的第四种使用方法 四.if判断的运 ...
- python基础入门:while 循环
while 循环也是 Python 中的一种循环语法,不过这种循环很容易搞成死循环,就是一直循环下去到电脑崩溃,死循环有坏处但也有它的应用场景,后面咱也会学习到. while 循环的语法格式如下: w ...
- Python基础——流程控制之循环语句
文章目录 一. 循环简介 1.1 循环的作用 1.2 循环的分类 二. while的语法 2.1 快速体验 三. while的应用 3.1 应用一:计算1-100累加和 3.2 应用二:计算1-100 ...
- 【Python核心】条件与循环
学习了列表.元组.字典.集合和字符串等一系列Python的基本数据类型.但是,如何把这一个个基本的数据结构类型串接起来组成一手漂亮的代码呢?这就是接下来要讨论的条件与循环 条件与循环可以叫作编程中的基 ...
- python基础之条件循环语句
前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...
- 带你学python基础:条件控制if与循环语句while、for 以及range函数
一.什么是条件控制 条件控制用生活中的一个例子来说就是:当你去买车时,会有好多品牌,这个时候我们就需要做出选择,到底需要买哪个品牌的车,而在编程中,条件控制就是为了帮你做选择的. 用专业点的话来说,条 ...
- python跳出if条件_带你学python基础:条件控制if与循环语句while、for 以及range函数...
一.什么是条件控制 条件控制用生活中的一个例子来说就是:当你去买车时,会有好多品牌,这个时候我们就需要做出选择,到底需要买哪个品牌的车,而在编程中,条件控制就是为了帮你做选择的. 用专业点的话来说,条 ...
- python基础:条件循环字符串
1.完成完整的温度转换程序 while True:a=int(input("输入1进行摄氏度转换,2进行华氏度转换"))if a==1:ssd=float(input(" ...
最新文章
- Windows:系统环境变量配置提示系统环境变量太大的问题三种解决方案亲测可用
- 生于拉新,死于留存!如何找到 Aha moment?
- 微信公众号 获得多客服使用权限
- 第013课_代码重定位
- 用python程序编写二元多项式_Python多项式回归的实现方法
- 计算机科学和软件工程区别,计算机科学和软件工程的区别
- 远程服务器登入信息,远程登录服务器查看信息
- WayOs 聊天软件号码登记器,让找人变得更简单
- FleaPHP 开发基础 - 第一部分
- UINO优锘:干货分享 | 虚拟现实建模基础
- 同步回调与异步回调的实现与学习
- canvas webGL SVG 比较
- LeetCode 【算法专栏】 【图】
- 大田后生仔用计算机怎么弹奏,大田后生仔闽南语怎么唱?大田后生仔歌词谐音翻译...
- 微信公众号 模板消息开发
- IOS开发使用@IBInspectable给控件添加额外属性
- 长沙计算机应届生工资水平,长沙毕业生期望的平均月薪是多少?答案在这里
- 喜欢猫吗?用这个开源工具撸一只吧!
- 阿里云时空数据库引擎HBase Ganos上线,场景、功能、优势全解析...
- RPC编程:RPC概述和架构演变