python中的三大流程控制

在这里插入图片描述

一、顺序

顺序结构就是代码一种自上而下执行的结构,这是Python默认的流程。
举例:
编写一个程序,提示用户按圆的半径计算圆的周长和面积。输入圆的半径: 5.3, 半径为5.3cm的圆的周长为33.3,面积为 88.2 。

import math
r = float(input("输入圆的半径:"))
s = math.pi * (r**2)
c = 2 * math.pi * r
print("半径为%.1fcm的圆周长c为%.1f,面积s为%.1f。" %(r,c,s))

在这里插入图片描述

二、分支语句

a.单分支语句:
1.if条件表达式结果为真,则执行if之后所控制的代码组,如果为假,则不执行后面的代码组。
2.冒号:之后下一行的内容必须缩进,否则语法错误。
3.if之后的代码中如果缩进不一致,则可能缩进不一致的代码不会受到if条件表达式的控制。
4.冒号:后面的代码是在条件表达式结果为真的情况下执行,所以称之为真区间或if区间。

a = 10  # int
if a > 5:
    print('a > 5')

b.双分支语句:
1.双项分支有两个区间,分别是 True控制的if区间 和 False控制的else区间
2.if区间的内容在双项分支中必须缩进,否则语法错误
判断lihua这人存不存在,存在输出为真,不存在输出为假

name = input("请输入你的名字:")
if name == "lihua":
    print(True)
else:
    print(False)

c.多分支语句:
1.多项分支可以添加无限个elif分支,无论如何,只会执行众多分支的其中一个
2.执行完一个分支后,分支结构就会结束,后面的分支都不会判断,也不会执行
3.多项分支的判断顺序是自上而下逐个分支进行判断的。 if…elif…elif …else
判断学生的分数等级

score = float (input("成绩:"))
if score >= 85:
    level ='A'
elif 70 <= score < 85:
    level = 'B'
elif 60 <= score < 70:
    level = 'C'
else:
    level = 'D'
print("你的成绩:",level)

在这里插入图片描述
d.三元运算符(双分支的变种): max= a if a>b else b
比较两个数字的大小,并将两个数字中较大的数字输出。

# max = a>b?a:b
a= 10
b= 20
max =a if a>b else b
print (max)

在这里插入图片描述

三、 循环

while循环

while循环分为计数循环和无线死循环。while循环运行原理: 如果满足while后面的条件,则执行循环, 如果不满足, 结束循环。
1.计数循环:

count =10
while  count >0:
     print (count)
     count -=1

在这里插入图片描述
2.无限死循环:

import os  # os模块是跟操作系统相关的模块
# while死循环: 一直去执行某些代码
while True:
    cmd = input("cmd>:")
    if cmd:
        # 执行Windows命令或者Linux命令
        # Windows的命令(ipconfig)和lINUX(ifconfig)的命令不一样
        os.system(cmd)

在这里插入图片描述
for循环

range的用法

1. range(end): 从0开始  - end-1结束
     for item in range(5):
          print(item)
          print('\n') 
2. range(start,end): start开始- end-1结束
     for num in range(10,15):
           print(num)
            print('\n')
4. range(start,end,step):  start开始- end-1结束,步长为step
    for a in range(20,30,2):
         print(a)
         print('\n')

实例1:求1-100之中所有偶数(奇数)的和

        sum = 0
        for i in range(0,101,2):    /for i in range(1,101,2):
        sum+=i
        print(sum)

实例2:用户输入一个整型数,求该数的阶乘
代码

num = int(input("请输入一个整数:"))
  res= 1
for i in range(1,num+1):
  res*=i
print("%d的阶乘结果是%d" %(num,res))

测试结果
在这里插入图片描述
跳出循环break与continue
代码

for i in range(5):
    if i == 3
        break       # break跳出循环, 不再执行循环了
    print(i)

测试结果
在这里插入图片描述

for i in range(5):
    if i == 3
        continue      # continue跳出本次循环
    print(i)

在这里插入图片描述

random模块
代码

import random
print(random.randint(10, 20))      #生成一个指定范围内的整数
print(random.random())             #生成一个01的随机符点数
print(random.uniform(10.8, 20.9))  #生成一个指定范围的随机符点数
print(random.choice('abcdefg'))    # 从给定的值中随机选择一个值
nums = [1, 2, 3, 4, 5, 6, 7]
random.shuffle(nums)               # 打乱顺序
print(nums)

测试结果
在这里插入图片描述

四、流程控制例题:

输出九九乘法表
代码

for i in range(1,10):
    for j in range (1,i+1):
        print('{}*{}={}\t'.format(j,i,i*j), end='')
    print()

测试结果:
在这里插入图片描述
根据输入用户名和密码,判断用户名和密码是否正确。 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示。
代码

try_count = 0
while try_count <3:
    try_count += 1
    username = input("Username:")
    password =  input("Password: ")
    if username == "root" and  password == "123":
        print("用户%s登陆成功" %(username))
        break
    else:
        print("第%d登陆失败: 用户%s登陆失败 " %(try_count,username))
else:
    print("请联系管理员修改密码")

测试结果
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值