Python基础-5-条件分支与循环

89 阅读2分钟

条件分支(编程中的逻辑)

条件分支是计算机编程领域中的一个重要组成部分,不论哪种编程语言都存在分支机构。

  • 通俗的来说就是满足某种条件的时候去干某事,而不满足的时候干另外一件事。 在代码里面来说就是,满足 if 关键字后面的条件时就执行 if 下面的代码块,不满足就执行 else 下面的代码。
  • 在Python中使用空白(空格/制表符-Tab)来标识代码块,所有缩紧在同一层级的代码被看作是同一个代码块。利用代码块和if组合起来,使Python清楚的知道条件满足需要执行哪些代码,而条件不满足的时候要从哪开始执行代码。
num = 5
if num == 5:
    print(num)
else:
	  print("test")
  • 这会可能有任会问了,如果有多个条件呢,总不能一直if-else去写吧。 当然不需要了,请看下面示例
num = 5
if num == 1:
    pring("num = 1")
elif num == 5:
    pring("num = 5")
else:
    pring("num不是数字")

在Python 中条件通常是通过对值进行比较的方式而构建出来的。使用比较运算符即可对值进行比较。而比较的结果不是真(True)就时假(False),正好符合了bool(布尔类型); 例如上述代码中的 num = 5 就会返回True,num = 1. 返回False。 在Python中对每种数据类型也给出了为假(False)的方式,如下图:

1122.png

循环

循环的作用就是让指定的代码重复的执行,而在Python中有两种常用的循环,分别时while和for,下面分别介绍两种循环

whlie
while 条件():    
    条件满足时,做的事情1    
    条件满足时,做的事情2
    ......
  • 基本用法
# 定义一个整数变量,记录循环的次数
i=1
# 开始循环
while i <= 3:    
# 希望循环内执行的代码    
    print('hello python')    
    # 处理计数器
    i+=1

需要注意的是,使用while循环时,一定要给出循环结束的条件,不然就成死循环了,例如:

while True:
    print('hello python')

具体用法:

# 大家可以通过下面的猜数字游戏体会:
"""
猜数字游戏:
1.系统随机生成一个1~100的数字;
2.用户共有5次机会猜;
3.如果用户猜测数字大于系统给出的数字,打印"too big"
4.如果用户猜测数字小于系统给出的数字,打印"too small"
5.如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖",并退出循环
"""

import random

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

i = 1
while i <= 5:
    ans = int(input("请猜数:"))
    if ans > num:
        print("too big,还剩%d次机会"%(5-i))
    elif ans < num:
        print("too small,还剩%d次机会"%(5-i))
    else:
        print("恭喜中奖!!!")
        break
    i += 1
for

Python中的for循环是通过遍历某一序列对象的来构建循环,结束条件就是队形被遍历完成/或者满足某种条件以后使用break关键字

for i in [1, 2, 3, 4]:
	  # 如果不添加if语句,会将列表中的所有元素全部遍历一遍,添加以后,当i=3的时候就会执行break,然后结束循环
    if i == 3:		
        break
	  print(i)
>>> 1 2 

还有一种是结合range() 函数去使用的

list_1 = [1, 2, 3, 4]
for index in range(list_1):
    # 现在的index是没次获取的列表元素中的下标
    print(index)
>>> 0 1 2 3

在for循环中,还有一个关键字可以结合使用,那就是continue ,作用是跳过档次循环

for i in [1, 2, 3, 4]:
    if i == 3:		
        continue
    print(i)
>>> 1 2 4

还有一种复杂一点的操作,就是嵌套for循环

例如:9 9乘法表
for i in range(1,10):
    for j in range(1,i+1):
         print('%d * %d = %d\t' %(i,j,i*j),end='')
    print() 

2211.png