序言:
在上期,我们已经对python进行了初步的学习和了解。本期,我将继续带领大家学习关于python的基本知识!!
目录
(一)顺序语句
(二)条件语句
1、什么是条件语句
2、语法格式
3、缩进和代码块
4、空语句 pass
(三)循环语句
1、while 循环
2、for 循环
3、continue
4、break
总结
(一)顺序语句
默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的.
- 执行结果一定为 "111 222 333", 而不会出现 "321" 或者 "132" 等. 这种按照顺序执行的代码, 我们称为 顺序语句.
这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行 执行.
就好像人生的顺序, 是上学, 工作, 结婚, 生子. 一旦这里的顺序乱了, 就很麻烦.
但是如果仅有条件语句的话是远远不够的,对于一些复杂的情况时得不到处理的。因此,又出现了许多其他的语句。
(二)条件语句
1、什么是条件语句
条件语句能够表达 "如果 ... 否则 ..." 这样的语义. 这构成了计算机中基础的 逻辑判定.
条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向.
一个典型的例子:
如果丘处机没有路过牛家村,
- 1. 那么金兵不会死在郭, 杨两家手上
- 2. 郭, 杨两家就不会流亡北方
- 3. 郭夫人就不会去到大漠, 完颜洪烈就不会遇到包惜弱
- 4. 郭靖就不会和江南七怪救了铁木真
- 5. 蒙古就不会统一
- 6. 蒙古铁骑就不会西征
- 7. 欧洲就不会出现火药, 也就不会出现文艺复兴, 大航海.
- 8. 大炮就不会从欧洲传到日本, 日本得不到统一
- 9. 完颜洪烈就不会全力战, 金国内乱
- 10. 宋朝不会灭亡, 并诞生出资本主义. 中国成为最发达的国家.
- 例如,以我作为学生的程序猿为例:
如果 我认真敲代码
- 我就很容易找到工作
否则
- 我就容易毕业就失业
其中 "我认真敲代码" 称为 条件.
- 如果条件成立(条件为真), 则会出现 "我就很容易找到工作" 这个情况;
- 如果条件不成立(条件为假), 则会出现 "我就容易毕业就失业".
💨 当然, 同样的逻辑, 还可以反着表达
如果 我选择躺平摆烂
- 我就容易毕业就失业
否则
- 我就很容易找到工作
- 虽然结构变了, 但是整体表达的语义是等价的.
💨: 亲爱的小伙伴们, 你们是选择认真敲代码, 还是躺平摆烂呢?
2、语法格式
在Python中,条件语句用来根据给定的条件判断来执行不同的代码块。Python提供了if、elif和else关键字来构建条件语句,下面对其进行详解:
(1) if: if语句用于检查一个条件是否为真,如果条件为真,则执行if代码块中的内容。if语句的基本语法如下:
if expression:
do_something1
do_something2
next_something
- 如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
- 如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2
(2)if-else: if-else语句用于在条件为True时执行一个代码块,而在条件为False时执行另一个代码块。它的基本语法如下:
if expression:
do_something1
else:
do_something2
- 如果 expression 值为 True, 则执行 do_something1
- 如果 expression 值为 False, 则执行 do_something2
(3)if-elif-else: if-elif-else语句用于在多个条件之间做出选择。它可以包含多个elif子句来检查额外的条件,并且最后可以有一个可选的else子句来覆盖所有未满足的条件。它的基本语法如下:
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
- 如果 expression1 值为 True, 则执行 do_something1
- 如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
- 如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3
【注意事项】
1️⃣ 在Python中,条件表达式的结果可以是任何可以被解释为布尔值的类型,例如布尔值True或False、整数、浮点数、字符串、列表、元组等,只要它们在条件判断时被解释为True或False即可。
2️⃣ Python中的条件语句写法, 和很多编程语言不太一样.
- if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
- if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
- 对于多条件分支, 不是写作 else if, 而是 elif (合体了).
💨示例: 输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂.
choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
if choice == "1":
print("你会找到好工作!")
elif choice == "2":
print("你可能毕业就失业了!")
else:
print("你的输入有误!")
【分析】
3、缩进和代码块
在Python中,缩进是非常重要的,它用于表示代码块的层次结构。Python使用缩进来确定语句的组织方式和执行顺序,而不是使用大括号或关键字来表示代码块的开始和结束。
代码块是一组相关的语句,例如在条件语句中,一个代码块包含了在特定条件下需要执行的一组语句。
以下是关于Python条件语句中缩进和代码块的一些重要注意事项:
1️⃣ 缩进量:通常情况下,每个缩进级别由四个空格组成。不同的编辑器设置可能会有所不同,但在Python中必须保持一致。
格式如下:
if condition:
statement1 # 属于 if 代码块,缩进一级
statement2 # 属于 if 代码块,缩进一级
statement3 # 不属于 if 代码块,与 if 同级
代码1:
a = input("请输入一个整数: ")
if a == "1":
print("hello")
print("world")
- 输出:
代码2:
a = input("请输入一个整数: ")
if a == "1":
print("hello")
print("world")
- 输出:
注意上述代码的区别
- 在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件 不成立, 则不执行.
- 在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件 无论是否成立, 都会执行.
基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进, 来明确代码之间的相对关 系. 如果缩进书写的不对, 则直接报错
像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.
同时, 带来的坏处就是, 如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级
if a == 1:
if b == 2:
if c == 3:
if d == 4:
if e == 5:
if f == 6:
if g == 7:
print("hello")
print("1")
print("2")
因此, 就有了 "写 Python 需要自备游标卡尺" 这个梗
2️⃣ 代码块:代码块是一组具有相同缩进级别的语句。在条件语句中,if、elif、else后面的冒号(:)标志着一个代码块的开始。
格式如下:
if condition1:
- statement1 # 属于 if 代码块
- statement2 # 属于 if 代码块
elif condition2:
- statement3 # 属于 elif 代码块
- statement4 # 属于 elif 代码块
else:
- statement5 # 属于 else 代码块
- statement6 # 属于 else 代码块
代码:
a = input("请输入一个整数: ")
if a == "1":
print("aaaa")
print("bbbb")
if a == "2":
print("cccc")
print("dddd")
else:
print("eeee")
3️⃣ 嵌套代码块:在一个代码块内部,可以有更深层次的代码块。只需在内部的代码块中增加额外的缩进即可。
格式如下:
if condition1:
statement1 # 属于外部 if 代码块
if condition2:
statement2 # 属于内部 if 代码块
else:
statement3 # 属于内部 else 代码块
else:
statement4 # 属于外部 else 代码块
代码:
a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
if b == "2":
print("hello")
print("world")
print("python")
【分析】
在这个代码中:
- print("hello") 具有两级缩进, 属于 if b == "2" 条件成立的代码块.
- print("world") 具有一级缩进, 属于 if a == "1" 条件成立的代码块.
- print("python") 没有缩进, 无论上述两个条件是否成立, 该语句都会执行.
输出:
总结起来,Python中的缩进和代码块用于指示条件语句中的层次结构和执行顺序。缩进量决定了代码块之间的关系,而代码块是根据条件语句的各个部分进行分组的。通过正确的缩进和代码块组织,可以使代码更清晰、易读和易于维护。
练习
- (1) 输入一个整数, 判定是否是奇数
a = int(input("请输入一个整数: "))
if a % 2 == 0:
print("偶数")
else:
print("奇数")
输出展示:
- (2) 输入一个整数, 判定是正数还是负数
a = int(input("请输入一个整数: "))
if a > 0:
print("正数")
elif a < 0:
print("负数")
else:
print("为 0")
- (3) 判定年份是否是闰年
year = int(input("请输入年份: "))
if (year % 100 != 0 and year % 4 == 0) or year % 400:
print("闰年")
else:
print("平年")
4、空语句 pass
在Python中,pass
是一个空语句,可以用于占位或作为一个占位符。它不执行任何操作,只是简单地跳过当前的代码块,不会产生任何影响。
pass
的主要作用是在未完整实现代码时提供一个占位符。例如,当你正在编写一个函数或一个类,但还没有完成它们的主体部分时,可以使用pass
语句来暂时跳过这些部分,使代码能够正常运行,而不会引发语法错误。
💨 代码示例: 输入一个数字, 如果数字为 1, 则打印 hello
a = int(input("请输入一个整数:"))
if a == 1:
print("hello")
上述代码也可以等价写成
a = int(input("请输入一个整数:"))
if a != 1:
pass
else:
print("hello")
如果代码写作:
a = int(input("请输入一个整数:"))
if a != 1:
else:
print("hello")
输出显示
- 程序是不符合 Python 语法的, 会直接报错.
【小结】
总结起来,pass
是Python中的一个空语句,它不进行任何操作,仅用于占位或作为一个占位符。通过使用pass
语句,可以在未完整实现代码的情况下,使程序能够正常运行,并且保持代码的完整性。一旦具体实现完成,可以将pass
语句替换为实际的代码逻辑。
(三)循环语句
有些操作是需要反复执行的. 这种就需要使用循环.
1、while 循环
在Python中,while 循环用于反复执行一段代码块,直到给定条件不再满足为止。它的基本语法如下:
while 条件:
循环体
- 这里的【条件】是一个布尔表达式,当条件为真时,循环会一直执行代码块;
- 每次循环开始前,都会检查条件是否满足。如果条件为假,则退出循环,继续执行后续的代码。
💨 代码示例: 打印 1-10 的整数
num = 1
while num <= 10:
print(num)
num += 1
【分析】
- 在这个例子中,首先定义了一个初始值为1的计数器num;
- 然后,
while
循环会检查num是否小于等于10。只要条件满足,循环会执行打印num的值,并将num增加1。这个过程会一直重复直到num不再小于10为止。
💨 代码示例: 计算 1-100 的和
num = 1
sum = 0
while num<=100:
sum+=num
num+=1
print(sum)
输出显示:
💨 代码示例: 计算 5 的阶乘
res = 1
n = 1
while n <= 5:
res *= n
n += 1
print(res)
输出显示:
💨 代码示例: 求 1! + 2! + 3! + 4! + 5!
num = 1
sum = 0
while num <= 5:
factorResult = 1
i = 1
while i <= num:
factorResult *= i
i += 1
sum += factorResult
num += 1
print(sum)
输出显示:
- 这个程序用到了两重循环. 也就是在循环语句中也可以套循环.
需要注意以下几点:
- 循环的代码块必须缩进,通常使用四个空格来表示。缩进量决定了代码块的范围。
- 如果循环体内的代码没有改变条件的状态,或者条件一开始就不满足,那么循环将成为无限循环。在这种情况下,可以使用
break
语句来提前终止循环。
【小结】
while
循环在Python中用于重复执行一段代码块,直到给定条件不再满足。通过检查条件并控制条件的改变,可以灵活地运用while
循环来解决各种问题。
2、for 循环
在Python中,for
循环用于遍历序列(如列表、元组、字符串等)或其他可迭代对象中的每个元素,并执行相应的代码块。它的基本语法如下:
for 循环变量 in 可迭代对象:
循环体
注意:
- python 的 for 和其他语言不同, 没有 "初始化语句", "循环条件判定语句", "循环变量更新语句", 而是 更加简单
- 所谓的 "可迭代对象", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"
下面是一个简单的示例,展示了for
循环的用法:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
【分析】
- 在这个例子中,定义了一个包含三个字符串元素的列表
fruits;
for
循环会依次遍历fruits
中的每个元素,并将当前元素的值赋给变量fruit;
- 然后,循环体内的代码会执行,打印出当前的水果名称。这个过程会依次重复,直到遍历完整个列表。
输出显示:
💨 代码示例: 求 求 1 - 100 的和
sum = 0
for i in range(1, 101):
sum += i
print(sum)
输出显示:
需要注意以下几点:
- 循环的代码块必须缩进,通常使用四个空格来表示。缩进量决定了代码块的范围。
- 可以通过
range()
函数生成一个序列作为迭代对象,例如range(5)
会生成从0到4的整数序列。 - 可以使用
break
语句提前终止循环,或使用continue
语句跳过当前循环迭代。
除了基本的遍历每个元素外,还可以结合其他控制流语句、条件判断、内置函数等实现更复杂的循环逻辑。
【小结】
for
循环在Python中用于遍历可迭代对象中的每个元素,并执行相应的代码块。通过定义变量来表示当前元素的值,可以方便地处理和操作序列或其他可迭代对象。
3、continue
在Python中,continue
是一个控制流语句,用于跳过当前循环迭代中的剩余代码,并进入下一次循环迭代。当程序执行到continue
语句时,会立即跳过当前迭代的剩余代码,然后继续执行下一次迭代。
continue
的使用场景通常与条件判断结合起来,用于在满足特定条件时跳过当前迭代。当条件满足时,continue
语句会让程序直接跳到循环的下一个迭代,而不执行当前迭代剩余的代码块。
下面是一个示例,展示了continue
的使用方法:
for i in range(1, 6):
if i == 3:
continue
print(i)
输出显示:
【分析】
- 在这个例子中,使用
for
循环遍历了整数序列range(1, 6)
,从1到5。在每次迭代中,如果i
的值等于3,那么continue
语句会被执行,跳过当前迭代的剩余代码; - 因此,当
i
等于3时,不会执行print(i)
语句,直接进入下一次迭代。这样就实现了跳过输出3的效果。
需要注意以下几点:
continue
语句通常与条件判断结合使用,用于在满足特定条件时跳过当前迭代。continue
语句只会影响到当前所在循环的迭代,不会终止循环。如果需要提前终止循环,可以使用break
语句。- 在嵌套循环中,
continue
语句只会跳过当前内层循环的迭代,而不会跳出外层循环。
【小结】
continue
是Python中的一个控制流语句,用于跳过当前循环迭代中的剩余代码,并进入下一次迭代。通过与条件判断结合使用,可以灵活地控制循环的执行逻辑。
4、break
在Python中,break
是一个控制流语句,用于提前终止循环。当程序执行到break
语句时,会立即跳出当前所在的循环,不再执行循环的剩余代码,并继续执行循环之后的代码。
break
通常与条件判断结合使用,用于在满足特定条件时提前结束循环。当条件满足时,break
语句会立即跳出循环,无论循环是否已经执行完毕。
下面是一个示例,展示了break
的使用方法:
for i in range(1, 6):
if i == 3:
break
print(i)
输出展示:
【分析】
- 在这个例子中,使用
for
循环遍历了整数序列range(1, 6)
,从1到5。在每次迭代中,如果i
的值等于3,那么break
语句会被执行,提前终止循环; - 因此,当
i
等于3时,不会执行print(i)
语句,直接跳出循环。
💨 代码示例: 输入若干个数字, 求平均值. 使用 "分号" 作为结尾
sum = 0
count = 0
while True:
num = input("请输入数字:")
if num == ';':
break
num = float(num)
sum += num
count += 1
print(sum / count)
输出显示:
需要注意以下几点:
break
语句通常与条件判断结合使用,用于在满足特定条件时提前终止循环。break
语句会立即跳出当前所在的循环,并继续执行循环之后的代码。- 在嵌套循环中,
break
语句只会跳出当前内层循环,而不会跳出外层循环。
【小结】
break
是Python中的一个控制流语句,用于提前终止循环。通过与条件判断结合使用,可以在满足特定条件时跳出循环,提高程序的执行效率。
总结
到此,关于本期的内容便全部讲解完毕了!感谢大家的观看与支持!!!