认识三大流程控制
一、顺序流程控制
就是根据公式等,从头开始执行,
二、分支流程控制
分支语句 if - else语句
1.分支流程语句
age = int(input ("请输入年龄:"))
if age >= 18:
print ("成年")
else:
print ("未成年")
测试:
2.分支流程控制之三元运算符
可以将上面的四行程序简化成一行。
age = int(input("请输入年龄:"))
print("成年" if age>= 18 else "未成年")
测试:
3.多分支流程
"""
需求:
1)如果分数在90<=score<=100,grade=A
2)如果分数在80=<score=<90,grade=B
3)如果分数在score<80,grade=C
"""
score = int (input ("请输入成绩:"))
if 90<=score<=100:
print ("等级:A")
elif 80<=score<90:
print ("等级:B")
else:
print ("等级:C")
测试:
练习:
"""
代码需求:
1) 用户输入用户名和密码
2) 判断用户名密码是否正确(用户名admin,密码123456)
3) 当输入正确时输出 "用户admin登陆成功"
4) 当输入错误时输出 "用户admin登陆失败"
"""
name = input("用户名:")
password = input("密码:")
if name == "admin" and password == "123456":
print ("{name}登陆成功")
elif name == "admin" and password != "123456":
print ("{name}登陆失败")
else:
print ("请核对账号密码")
测试:
三、循环流程控制
1.while循环
# 需求: 输出0-100之间的数
count = 0
while count <=100:
print (count)
count +=1
while死循环
try_count = 1 ##用户尝试次数
while True:
print (f"用户第{try_count}次登陆")
try_count += 1
name = input("用户名:")
password = input("密码:")
if name == "admin" and password == "123456":
print (f"{name}登陆成功")
exit () #退出程序
else:
print (f"{name}登陆失败")
测试:
while练习:
# 需求:输出0-100之间的偶数
count = 0
while count <=100:
print (count)
count +=2
2.for循环
与传统语言(e.g.C/C++,Java )中的 for 语句不同, Python 的 for语句更加简洁.
for循环原理(有概念即可, 讲生成器时详细说):
可以遍历序列成员, 可以用在 列表解析 和 生成器表达式中, 它会自动地调用迭代器的 next()
方法, 捕获 StopIteration 异常并结束循环(所有这一切都是在内部发生的).
# 需求 输出数字0-100之间的偶数
# range(start, end)从start 开始,到end-1结束
# range(start,step,end) 从start开始,从end-1结束,步长为step
for num in range(0, 101,2):
print (num)
测试:
range语法:
range(start, end, step =1)返回一个包含所有 k 的列表, start <= k < end , k每次递增 step
for循环遍历字符串
3.跳出循环
跳出循环语句break 语句和continue 语句
-
break语句用来终止循环语句,即循环条件没False条件或者序列还没被完全递归完,也会停止执行循环语句。
-
continue 跳过当前循环的剩余语句,然后继续进行下一轮循环。
4.实例:
九九乘法表
"""
i j
1 1
2 1 2
3 1 2 3
...
9 1 2 3 4 5 6 7 8 9
# 如何让print不换行?print("xxx", end" ")
"""
for i in range(1,10):
for j in range(1,i + 1):
print (f"{j}*{i}={j*i}",end=" ")
#i=1 i=2 i=3 ...时换行
print()
防黑客暴力破解登陆系统
"""
需求:
根据输入用户名和密码,判断用户名和密码是否正确。 为了防止暴力破解,
登陆仅有三次机会, 如果超过三次机会, 报错提示。
数据库信息:
name='root' passwd='sun513'
"""
try_count = 1
while try_count <4:
print (f"用户第{try_count}次登陆")
try_count += 1
name = input("用户名:")
password = input("密码:")
if name == "root" and password == "sun513":
print (f"{name}登陆成功")
break
else:
print (f"{name}登陆失败")
else:
print ("尝试登陆次数超过三次,禁止操作")