三大流程控制语句
1 顺序 按顺序去执行步骤,是最基本的代码执行规则,不做过多的解释。
2 分支 单分支
?if 条件:
?满足条件做什么
双分支
if 条件:
满足条件做什么
else:
不满足条件做什么
三元运算符(双份支的简化版)
?result = 满足条件的内容 if 条件 else 不满足条件的内容
多分支
?if 条件1:
?满足条件1 执行的内容
?elif 条件2:
?满足条件2 执行的内容
?else:
?不满足条件执行的内容
示例1:判断年龄是否大于18岁 在 python 中 input 接收的是字符串,如果接受整型数,需要通过int转成整型数。
需求:如果年龄大于18岁,输出成年,否则输出未成年 注意点:冒号和缩进是python 的语法规范。
age = int(input("年龄:"))
if age > 18:
? ? print("成年")
else:
? ? print("未成年")
示例2: 分支语句之三元运算符
三元运算符: age > 18? "成年":"未成年"
age = int(input("年龄:"))
print("成年" if age > 18 else "未成年")
示例三: 分支流程控制的多分支
需求:分数score, 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: #elif满足第二个条件做什么操作
print("等级是B")
elif 0<=score<80:
print("等级是C")
else:
print("成绩输入错误")
练习: 需求: 1.用户输入用户名和密码 2.判断用户名和密码是否正确(用户名=admin,密码=westos) 3.如果正确:“用户admin登录成功" 4.如果不正确:”用户admin 登录失败"
name = input("please input your name:")
password = input("please input your password:")
if name=="admin" and password=="westos":
print(f"{name} login successfully")
else:
print(f"{name} login failure")
3 循环 while 循环
while 条件:
满足条件的语句
需求:输出数字从0-20.
""" #表示注释
count=0,while 0<=20,print(0) count+=1
count=1, while 1<=20,print(1) count+=1
...
count=19 while 19<=20 print(19) count+=1
count=20 while 20<=20, print(20) count +=1
count 21 while 21 <=20(x)
"""
count = 0
while count <=20:
print(count)
#count = count + 1 #简化为下面的
count +=1
while 死循环 循环一直执行下去,即while后的条件如果一直成立的话,将会一直重复后面的操作,但代码中可通过别的方式退出,所以死循环有独特的用处。
while True:
一直循环执行的动作
在前面判断用户时,是没有统计次数的,并且不论是否登录等成都会退出。如果此时档登陆不成功时,继续输入用户名和密码,直至登录成功才会退出。
while True:
name = input("please input user name: ")
password = input("please input user passwd: ")
if name == "admin" and password == "westos":
print(f"{name} login sucessfuly")
exit()
else:
print(f"{name} login failure")
用户登录成功进入系统,登录失败,继续登录,并且统计登录次数。
try_count = 1 #用户登录系统的次数
while True:
print(f'用户第{try_count}此登录系统')
try_count += 1 #用户尝试登录的次数+1
name = input("用户名:")
password = input("密码:")
if name == "admin" and password == "westos":
print(f"用户{name}登录成功")
exit() #登录成功退出程序
else:
print(f"{name}登录失败")
?练习: 需求:输出0-100之间的偶数
"""
num = 0
while num <=100:
if num % 2 == 0:
print(num)
num +=1
"""
num = 0
while num <= 100:
print(num)
num += 2
for 循环
for num in range(n):
循环的语句
range用法: range(start,end) 指的是从start开始到end-1结束; range(num) 指的是从0开始到num-1 结束; range(start,end,dtep)指的是从start开始到end-1结束,步长为step。
需求:输出数字0-20
""" #代码思路
range(0,21)生成0-20的数值
for num in range(0,21) #循环
- num=0
- num=1
...
- num=20
"""
for num in range(0,21):
print(num)
练习: 需求:输出0-100之间的偶数
for num in range(0,101,2):
print(num)
对于python 中的任何函数可以在Python Console 中用 help(rang)查看。
for 循环访问字符串
for item in 'westos;:
循环的语句
string = 'westos'
# item ='w','e','s','t'...
for item in string:
print("---",item)
?while循环和else结合
while 条件表达式:
满足条件执行的内容
else:
不满足条件执行的内容
for i in range(2): 循环时执行的语句 else: 没有for 可以循环时执行的语句
try_count = 0
while try_count < 3:
try_count += 1
print(f"第{try_count}次开始尝试登录")
else:
print("尝试登录次数大于3次")
4 跳出循环
break 语句用来终止循环语句,循环条件没有False条件或者序列还没有被完全递归完,也会停止执行循环语句; continue 跳出当前循环的剩余语句,然后继续进行下一轮循环; exit(): 退出整个程序。
?1)break:
count = 0
while count <= 10:
count += 1
print(count)
if count == 5:
break #遇到 break ,循环结束
2)continue 语句:
count = 0
while count <= 10:
count += 1
print(count)
if count == 5:
continue #遇到continue,跳出本次循环
print('hello')
**练习1:**嵌套循环
九九乘法表:
"""
i j
1 1
2 1,2
3 1,2,3
...
9 1,2...9
"""
# 如何让print 换行,print('xxx',end' ')
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j}", end=' ')
# i=1.i=2.i=3,开始换行
print()
?练习2: 闰年判断器 随机生成一个1900-2000之间的年份,判断给定年份是否为闰年。
random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
import random
year = random.randint(1900,2000)
if year%4 ==0 and year%100 !=0 or year%400 ==0:
print(f"年份{year}年是闰年。")
else:
print(f"年份{year}年不是闰年。")
练习3: 防黑客暴力攻击用户登录系统
需求: 根据输入用户名和密码,判断用户名和密码是否正确。 为了防止暴力破解,登陆仅有三次机会,如果超过三次机会,报错提示。 数据库信息: name=‘root’ passwd=‘westos’
try_count = 1
while try_count <= 3:
print(f'用户第{try_count}次登录系统')
try_count += 1
name = input("username: ")
password = input("password: ")
if name=='admin' and password=='westos':
print(f"用户{name}登录成功")
exit()
else:
print(f"{name}登录失败")
else:
print("尝试次数大于3次")
|