一篇足以让你掌握python条件语句if的文章,确定不来康康

 

条件语句

1.流程控制

和其它编程语言一样,按照执行流程划分,Python 程序也可分为 3 大结构,即顺序结构、选择(分支)结构和循环结构:

  • Python 顺序结构就是程序会自上而下依次执行每一条 Python 代码,不重复执也不跳过任何代码;

  • Python 选择结构也称分支结构,就是让程序在"分叉路口"有选择性的执行代码;

  • Python 循环结构就是让程序不断地重复执行同一段代码。

2.顺序结构

我们上面列出的代码都可以说是顺序结构的,因为是从上向下按照顺序的执行每一行代码。比如:

# 1. 声明变量a
a = 10
# 2. 对a进行赋值操作
a += 20
# 3.判断a是否大于50
print(a>50)
# 4.打印a的值
print(a)

上面标注的1-4就是代码执行的顺序,中间没有分支和循环。

3.分支结构

很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能健康宝是绿码才可以通行,如果你是黄码或者红码则无法通行。这时候程序就需要做出判断,看用户的健康宝是绿码,是则放开闸门通行。

在Python中,可以使用 if...else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。

Python 中的 if...else 语句可以细分为三种形式,分别是 if 语句、if...else 语句和 if...elif...else 语句。

需要注意的是:

为了让Python解释器能准确地理解和执行我们编写的代码,在编写代码的时候我们要遵守一些规则,比如:缩进。

1. 每个if语句中的代码块从编程习惯的角度看都是有4个空格的缩进(或者一个Tab键)

2. 一个代码块的所有语句都要缩进,而且缩进量必须相同。

3. 不需要使用代码块的地方千万不要缩进

if、elif、else 语句的最后都有冒号:(英文的冒号哦),表达式是一个整体最终的结果只能是True或者False。

总而言之,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支

分支结构Python示例代码:

if结构:

color = input('请打开健康宝,输入健康宝的颜色(绿、黄、红):')
if color == '绿':
    print('可以进入,放行')
print('绿色健康码可以通行其他的禁止进入!')

if...else结构:

color = input('请打开健康宝,输入健康宝的颜色(绿、黄、红):')
if color == '绿':
    print('可以进入,放行')
else:
  print('疫情期间不要随便乱走啊,在家乖乖待够14天吧!')
print('绿色健康码可以通行其他的禁止进入!')

if...elif...else结构:

color = input('请打开健康宝,输入健康宝的颜色(绿、黄、红):')
if color == '绿':
    print('可以进入,放行')
elif color == '黄':
  print('中风险地区的也是不能进入的,别出来啦不让进!')
elif color == '红':
  print('你怎么出来的,偷跑出来的吧?别动我通知你们社区!')
else:
  print('你手机坏了吗?这是什么颜色?回去吧!')
print('绿色健康码可以通行其他的禁止进入!')

另外如果if后面的表达式是:None、""(空字符串)、0、0.0、[]、()、{} 等都认为是False。

当然if也是支持嵌套的,即在一个if结构中又嵌套着一个if结构。

比如:

print('~~~欢迎进入王者荣耀~~~')
age = int(input('请输入年龄:'))
if age>=18:
    print('每天8个小时,之后就要休息15分钟才能继续登陆游戏')
else:
  if age<12:
      print('王者荣耀健康系统提示你:只能玩一个小时,22时到次日8时无法进入游戏')
  else:
      print('王者荣耀健康系统提示你:每天最多可以玩两个小时哦!')

4.循环结构

循环语句允许我们执行一个语句或语句组多次,这种结构我们称作是循环结构。

Python的循环结构有:while循环和for 循环两种,但是没有do...while.具体如下:

图片

同样也是需要大家注意:缩进的问题

5.while循环

其实while 循环和 if 条件分支语句还是很像的,在表达式为真的情况下,会执行对应的代码块。不同的地方是:只要条件为真,while 就会一直重复执行代码块。

while 语句执行的具体流程为:

首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块...如此循环,直到条件表达式的值为假(False),才终止循环。

比如:循环打印1-10之间的数字

# 变量初始化
i = 1
while i<=10:
    print(i)
    i+=1
print('我打印完啦!')

此循环务必注意三点:1. 变量初始化 2. 条件表达式 3. 循环体中变量要发生变化,否则很容易产生死循环。比如下面代码就是死循环:

# 变量初始化
i = 1
while i<=10:
    print(i)
    # i+=1
print('我打印完啦!')

因为i没有发生变化,所以判断条件i<=10是永远为True的。

再比如:我们通过随机数字模拟实现练习打枪。

# 我们的🎯靶心位置的数是10,如果射中则结束循环,否则一直练习
import random
center = 10
# 因为Python没有do...while,我们要先射击一下(产生一个随机数),然后判断
position = random.randint(1,10)
# 接下来判断
while position != center:
    print('很遗憾啊!不过你会成功的加油吧!')
    position = random.randint(1,10)
print('你是如此优秀!打中靶心啦!')

6.for循环

for 循环常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

上图中:

for 变量 in 字符串|列表|元组|字典|集合:代码块

变量是用来存放从字符串|列表|元组|字典|集合中每次取出来的元素,而代码块指的是需要循环执行的代码部分,它是具有相同缩进格式的多行代码。

Python示例代码

s = '我为东京奥运会中国健儿加油'
for i in s:
    print(i)

也可以打印数字,但是需要结合range()内置函数使用。

range(start,end) 数字是从start到end,但是不包含end

range(start,end,step) 数字是从start到end,默认step是1,如果指定,则按照指定的step

打印1-20的数字

for i in range(1,20):
    print(i)

也可以打印1-20的奇偶数

for i in range(1,20,2):
    print(i)  # 1,3,5,7....

如果是列表也可以使用for遍历里面的元素

heros = ['赵云','刘备','诸葛亮','貂蝉']
for h in heros:
  print(h)

Python中,无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码。

# 务必注意是循环条件为False的时候,程序才会执行else
i = 1
total = 0
while i <= 5:
    total += i
    i += 1
else:
    print('累加和是:', total)

但是如果里面遇到关键字break的时候,就不会执行else里面的语句了。

注:

break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要遇到 break 语句,就会直接结束当前正在执行的循环体。

与break类似的一个关键字是:continue。continue 语句的作用并没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。也就是说循环还是会继续的

i = 1
total = 0
while i <= 5:
    total += i
    i += 1
    if i==3:
        print('遇到3我就跳出循环了!')
        break  # 跳出了while循环结构
else:
    print('累加和是:', total)

 这时候是没有total累加和的输出。

7.循环嵌套

if语句是支持嵌套的,而循环同样也是支持嵌套的。它则是在一个循环体中出现了另一个循环结构,我们就称之为嵌套循环结构。

比如:打印九九乘法表

for i in range(1, 10):    
    for j in range(1, i + 1):   
        print('%d * %d = %d\t' % (i, j, i * j), end='')
    print()

事实上在开发的时候,还会遇到分支结构与循环结构的嵌套,即if里面有while或者for,又或者for或者while中有if判断等。比如:

import random

num = random.randint(1, 50)
print(num)

i = 1
while i <= 5:
    ans = int(input("请猜数(1-50)之间:"))  
    if ans > num:      
        print("有点大了哥们!,加油就剩下%d次机会啦" % (5 - i))       elif ans < num:      
        print("有点小了哥们!,加油就剩下%d次机会啦" % (5 - i))       else:     
        print("哥们可以哦!恭喜中奖!!!")      
        break    
    i += 1

 别忘了

 

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goat_1 3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值