Python 流程控制

1. 条件语句

条件语句主要是 if、elif、else 三者之间的组合使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtdbV659-1584371769544)(attachment:image.png)]

  1.1 if 语句

if True:
    print("布尔表达式值为True")
布尔表达式值为True

  1.2 if-else 语句

if False:
    print("布尔表达式值为True")
else:
    print("布尔表达式值为Fasle")
布尔表达式值为Fasle

   1.3 if-elif-else 语句

a = 10
if a > 0 :
    print("a为正数")
elif a == 0:
    print("a值为0")
else:
    print("a为负数")
a为正数

   1.4 条件语句的嵌套

num = int(input("请输入一个0-5的数字:"))
if num >= 3:
    if num == 3:
        print("你输入的数字3")
    elif num == 4:
        print("你输入的数字是4")
    else:
        print("你输入的数字是5")
else:
    if num == 2:
        print("你输入的数字是2")
    elif num == 1:
        print("你输入的数字是1")
    else:
        print("你输入的数字是0")    
请输入一个0-5的数字:0
你输入的数字是0

2. 循环语句

python 的循环语句主要包括: while 、 for 语句    Python 不支持
do〜while 语法、可以使用 while(无限循环)和 break 组合起来实现 do ~ while 语法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Jmz2fRv-1584371769545)(attachment:image.png)]

   2.1 while 语句

 # 输出0-10的所有数字:
num = 0
while num <= 10:
    print(f'当前数字是:{num}')
    num += 1
当前数字是:0
当前数字是:1
当前数字是:2
当前数字是:3
当前数字是:4
当前数字是:5
当前数字是:6
当前数字是:7
当前数字是:8
当前数字是:9
当前数字是:10

  2.2 for 语句

# 输出0-10的所有数字:
for num in range(0,10):
     print(f'当前数字是:{num}')
当前数字是:0
当前数字是:1
当前数字是:2
当前数字是:3
当前数字是:4
当前数字是:5
当前数字是:6
当前数字是:7
当前数字是:8
当前数字是:9
# 遍历元组
tup = (1,2,3,4,5)
for t in tup:
    print(t)
1
2
3
4
5
#遍历列表
lis = ['a','b','c']
for c in lis:
    print(c.upper())
A
B
C
# 遍历字典
dic = {'name':'小明', 'age':20, 'hooby':'篮球'}
for k , v in dic.items():
    print(f'{k}:{v}')
name:小明
age:20
hooby:篮球

  2.3 迭代工具

  2.3.1 并行迭代

程序可以同时迭代两个序列,输入如下

low = ['a','b','c','d','e']
upp = ['A','B','C','D','E']
for i in range(len(low)):
    print(f'小写:{low[i]} -- 大写:{upp[i]}')
小写:a -- 大写:A
小写:b -- 大写:B
小写:c -- 大写:C
小写:d -- 大写:D
小写:e -- 大写:E
  2.3.2 zip 函数

在Python中,内建的zip函数用来进行并行迭代,可以把两个序列合并在一起,返回一个元组的列表。如下,程序执行结果和前面一样。

low = ['a','b','c','d','e']
upp = ['A','B','C','D','E']
for l, u in zip(low,upp):
    print(f'小写:{l} -- 大写:{u}')
小写:a -- 大写:A
小写:b -- 大写:B
小写:c -- 大写:C
小写:d -- 大写:D
小写:e -- 大写:E

zip函数可以作用于任意数量的序列,并且可以应付不等长的序列,当短序列“用完”时就会停止。

for num1,num2 in zip(range(3),range(5)):
    print(f'zip的键值对为:{num1}:{num2}')
zip的键值对为:0:0
zip的键值对为:1:1
zip的键值对为:2:2

  2.4 跳出循环

  2.4.1 break 语句

  break语句用来终止循环语句,即使循环条件中没有False条件或序列还没有遍历完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句就会停止执行最深层的循环,并开始执行下一行代码。break语句的执行流程如下图所示。

在这里插入图片描述

letters = []
for letter in "I am a student, but you are a teacher.":
    if letter == ',': 
        break
    letters.append(letter)
print(letters)
['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']
  2.4.2 continue语句

continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5JBbKHWO-1584371769546)(attachment:image.png)]

letters = []
for letter in "I am a student, but you are a teacher.":
    if letter == ',': 
        continue
    letters.append(letter)
print(letters)
['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']

  2.5 循环中else语句

  2.5.1 while语句
num = int(input("请输入一个小于10的整数:"))
while num < 10:
    print(f"{num}小于10")
    num += 1
else:
    print(f"{num} 不小于10")
print("循环结束")
请输入一个小于10的整数:4
4小于10
5小于10
6小于10
7小于10
8小于10
9小于10
10 不小于10
循环结束
  2.5.2 for语句
names = ["小李","小黄"]
for name in names:
    if name == "小":
        print(f"名称:{name}")
        break
    print(f"循环名称列表{name}")
else:
    print("没有循环数据!")
print("循环结束")       
循环名称列表小李
循环名称列表小黄
没有循环数据!
循环结束

3. pass语句

  Python中的pass是空语句,作用是保持程序结构的完整性。pass语句的语法格式如下:passpass不做任何事情,只是占位语句。

def f(a):
    if a>=0:
        pass
    else:
        print("a为负数")
f(10)
f(-1)
a为负数

4.猜数字游戏练习

随便给定一个在一定范围内的数字,让用户去猜这个数字是多少,并输入自己猜测的数字,系统判断是否为给定数字。如果输入的猜测数字大于给定值,提示你输入的值大了;如果输入的值小于给定值,就提示输入的值小了;如果等于给定值,就提示你猜对了,并展示总共猜了多少次。

import random

def GuessNumber(num):
    count = 0
    guess = int(input("请猜一个0-100的数:"))
    while True:
        if guess != num:
            if guess > num:
                print("猜的数大了")
            else:
                print("猜的数小了")
            count += 1 
            guess = int(input("继续猜数:"))
        else:
            print(f"恭喜你在第{count}次猜对了.")
            break
num = random.randint(0,100)
GuessNumber(num)
请猜一个0-100的数:50
猜的数大了
继续猜数:25
猜的数小了
继续猜数:30
猜的数小了
继续猜数:40
猜的数大了
继续猜数:35
猜的数小了
继续猜数:38
猜的数大了
继续猜数:36
恭喜你在第6次猜对了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值