一、顺序
顺序结构就是代码一种自上而下执行的结构,这是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()) #生成一个0到1的随机符点数
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("请联系管理员修改密码")
测试结果