教师妹学python之三:语句控制

计算机为什么可以做自动化任务,主要依赖于条件控制和循环。

条件控制

何为条件控制?

中午又到饭点的时间了,纠结吃什么已经成为日常条件反射。下面举个例子:那么中午吃什么呢?

逻辑判断-True/False

人的大脑可以思考并判断中午吃什么,而计算机本身没有思考能力,要想让计算机自动化执行任务,必须依赖在程序中加入逻辑判断的逻辑,让计算机根据程序的指引决定该执行什么不该执行什么。

比较运算符

比较运算符,运算结果为True/False,例如:

#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# @Author : qa.yw
# @Time : 2021/3/26 6:25 下午
# @File : 语句控制.py
# @desc :

a = 21
b = 10
c = 0

if (a == b):
    print("1 - a 等于 b")
else:
    print("1 - a 不等于 b")

if (a != b):
    print("2 - a 不等于 b")
else:
    print("2 - a 等于 b")

if (a < b):
    print("3 - a 小于 b")
else:
    print("3 - a 大于等于 b")

if (a > b):
    print("4 - a 大于 b")
else:
    print("4 - a 小于等于 b")

执行结果:

1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b

逻辑运算符-not

布尔"非": 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

例子:

a = True
print(not a)
>> False

in

x in y: y包含x,则True; 否则False
a = 'h'
b = 'hello word'
print(a in b)
>> True

if...elif...else...

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

比如判断是否成年的例子:

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')
>> teenager

循环

看一下下面的公式,你肯定见过吧。设想加入不知道这些数列公式,完全让你去计算前n个数之和,你该如何下手这些重复的加法运算。毫无疑问是非常痛苦的。

而计算机最大的优点就是可以不知疲倦地计算成千上万次重复运算,而这依赖于循环语句。

Python的循环有两种:

  1. for...in循环
  2. while循环,只要条件满足,就不断循环,条件不满足时退出循环。

for循环

for循环需要依赖其他的数据结构list/tuple。本节先不详细这两个数据结构。

例子:计算前100个数字之和

total = 0
for x in range(101):
    total = total + x
print(total)
>> 5050

for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

Tips:
range()函数:range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step: 步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

    例子:
for x in range(5):
    print(x)
 >> 
0
1
2
3
4

while循环

例子:计算前100个数字之和

total = 0
x = 0
while(x<101):
    total = total + x
    x += 1
print(total)
>> 5050

在循环内部变量x不断自增,直到变为101时,不再满足while条件,循环退出。

break

在循环中,break语句可以提前退出循环。

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

continue

在循环过程中,也可以通过continue语句,跳过当前循环,直接开始下一次循环。

例子:打印10以内的奇数

for x in range(11):
    if x % 2 == 0:
        continue
    print(x)
>>
1
3
5
7
9
posted @ 2022-07-24 18:23  QualityAssurance21  阅读(34)  评论(0编辑  收藏  举报