Python基础之——3_三大流程控制语句

目录

一、认识三大流程控制

二、墨守循规的顺序流程控制

三、有路任性的分支流程控制 

四、吃了炫迈的循环流程控制

4.1 while循环语法结构 

4.2 for循环语法结构

4.3 跳出循环语句break 语句和continue 语句

五、实验操作

5.1 分支流程语句

5.2 分支流程语句之三元运算符

5.3 多分支语句

5.4 用户登录程序

5.5 分支语句语法汇总

5.6 while循环

5.7 while死循环

5.8 while练习题目

5.9 for循环

5.10 for循环的练习题

5.11 for循环遍历字符串

5.12 break和continue

5.13 九九乘法表

5.14 彩虹棒棒糖

5.15 防黑客暴力破解的用户登录系统

5.16 while循环和else结合的补充

5.17 循环语句语法汇总


一、认识三大流程控制

二、墨守循规的顺序流程控制

编写一个程序,提示用户按圆的半径计算圆的周长和面积。

输入圆的半径: 5.3

半径为5.3cm的圆的周长为33.3,面积为 88.2 。

三、有路任性的分支流程控制 

第一类分支语句: if - else 语句

if expression:
      if_suite
else:
      else_suite

第二类分支语句: 标准的 if 语句

if expression:
      if_suite

第三类分支语句: if - elif - else 语句

if expression1:
      if_suite
elif expression2:
      elif_suite
else:
      else_suite

第四类分支语句: 三元运算符的if语句

if_suite if expression1 else else_suite

 

 

四、吃了炫迈的循环流程控制

4.1 while循环语法结构 

while循环原理: while 循环的 suite_to_repeat 子句会一直循环执行, 直到 expression 值为布尔假.

 

第一类循环语句: while循环语句

while expression:
      suite_to_repeat

1. 计数循环

count = 0
while (count < 9):
    print('the index is:', count)
count += 1

2.无限(死)循环

while True:
     cmd = input()
      if cmd:
         os.system(cmd)

4.2 for循环语法结构

 

1.序列类型for循环

2. range() 内建函数

range语法:

      range(start, end, step =1)返回一个包含所有 k 的列表, start <= k < end , k每次递增 step

4.3 跳出循环语句break 语句和continue 语句

break语句用来终止循环语句,即循环条件没False条件或者序列还没被完全递归完,也会停止执行循环语句。

continue 跳过当前循环的剩余语句,然后继续进行下一轮循环。

 

五、实验操作

5.1 分支流程语句

# python中input接收的是字符串, 如果接收整型数, 需要通过int转成整型数。
age = int(input("年龄:"))
# 需求: 如果年龄大于18岁, 输出成年, 否则输出未成年。
# 注意点: 冒号和缩进是python的语法规范。
if age > 18:
    print("成年")
else:
    print("未成年")

5.2 分支流程语句之三元运算符

# python中input接收的是字符串, 如果接收整型数, 需要通过int转成整型数。
age = int(input("年龄:"))
# 需求: 如果年龄大于18岁, 输出成年, 否则输出未成年。
# 注意点: 冒号和缩进是python的语法规范。
# 三元运算符: age>18?"成年":"未成年"
print("成年" if age>18 else "未成年")

5.3 多分支语句

"""
补充pycharm快速复制一行的快捷键: ctrl + d
需求: 分数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")
else:
    print("等级是C")

5.4 用户登录程序

"""
代码需求:
    1. 用户输入用户名和密码
    2. 判断用户名和密码是否正确(用户名=admin, 密码=westos)
    3. 如果正确: "用户admin登录成功"
    3. 如果不正确: "用户admin登录失败"
"""

name = input("用户名:")
password = input("密码:")
if name == 'admin' and password == 'westos':
    print(f'用户{name}登录成功')
else:
    print(f'用户{name}登录失败')

5.5 分支语句语法汇总

"""
分支语句:
    1). 单分支
    if 条件:
        满足条件执行的内容

    2). 双分支
    if 条件:
        满足条件执行的内容
    else:
        不满足条件执行的内容

    3). 三元运算符(双分支的简化版)
    result = 满足条件的内容 if 条件 else 不满足条件的内容

    4). 多分支
    if 条件1:
        满足条件1执行的内容
    elif 条件2:
        满足条件2执行的内容
    else:
        不满足条件执行的内容

"""

5.6 while循环

# 需求: 输出数字从0-100
"""
count=0, while 0<=100, print(0)  count+=1
count=1, while 1<=100, print(1) count+=1
....
count=99 while 99 <=100, print(99) count+=1
count=100 while 100 <=100, print(100) count+=1
count=101 while 101 <=100(x)
"""
count = 0
while count <= 100:
    print(count) # 0
    # count = count + 1
    count += 1

5.7 while死循环

"""
用户登录成功进入系统, 登录失败,继续登录。 并且统计登录次数。
"""
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}登录失败')

5.8 while练习题目

# 需求: 输出数字0-100之间所有的偶数。
"""
方法一:
count = 0
while count<=100:
    if count % 2 == 0:
       print(count)
    count += 1

方法二:
count = 0
while count <= 100:
    print(count)
    count += 2
"""

5.9 for循环

# 需求: 输出数字从0-100
"""
range(0, 101) 生成0-100的数值
for num in range(0, 101)
- num=0
- num=1
....
- num=100
"""
# range(start, end)指的是从start开始倒end-1结束
# range(num)指的是从0开始倒num-1结束
# range(start, end, step), 指的是从start开始倒end-1结束, 步长为step
for num in range(0, 101):
    print(num)

5.10 for循环的练习题

# 需求: 输出数字0-100之间所有的偶数。
for num in range(0, 101, 2):
    print(num)

# 需求: 输出数字0-100之间所有的奇数。 for循环和range实现。
for num in range(1, 100, 2):
    print(num)

5.11 for循环遍历字符串

# for循环访问字符=串
string = 'westos'
# item='w', 'e', 's', 't'...
for item in string:
    print("---", item)

5.12 break和continue

# count = 0
# while count <= 10:
#     count += 1 # 1
#     print(count)
#     if count == 5:
#         # 遇到break, 循环结束
#         break


count = 0
while count <= 10:
    count += 1 # 1
    print(count)
    if count == 5:
        # 遇到continue跳出本次循环
        continue

5.13 九九乘法表

"""
i      j
1       1
2       1,2
3       1, 2, 3
...
9       1, 2, 3, ...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()

5.14 彩虹棒棒糖

import turtle

"""
R:red, G:green, B:blue
RGB颜色表示法:
    red: (255,0,0)
    green: ()
    blue: ()
"""
# 1. 生成渐变色的列表
# 从红色到黄色
colors1 = [(255, g, 0) for g in range(0, 256)]
# 从黄色到绿色
colors2 = [(r, 255, 0) for r in range(255, -1, -1)]
# 从绿色到青色
colors3 = [(0, 255, b) for b in range(0, 256)]
# 从青到蓝
colors4 = [(0, g, 255) for g in range(255, -1, -1)]
# 从蓝到紫
colors5 = [(r, 0, 255) for r in range(0, 256)]
# 从紫到红
colors6 = [(255, 0, g) for g in range(255, -1, -1)]
# colors = colors1 + colors2 + colors3 + colors4 + colors5 + colors6
colors = colors1 + colors2 + colors3 + colors4 + colors5 + colors6
n = len(colors)

# 2. 基于turtle生成彩虹糖(可根据自己的喜好调整彩虹棒棒糖的颜色)
# 画笔的大小: 20px
turtle.pensize(20)
# 画图的速度,0代表最快速度
turtle.speed(0)
# 设置turtle指定颜色的模式, 255代表rgb模式
turtle.colormode(255)
# 循环1000次不断画圆,画圆的同时不断调整圆的半径
for i in range(1000):
    # 如果颜色超出给定的范围,和总颜色个数取余,从头开始获取颜色。
    color = (255, 0, 0)
    turtle.color(color)
    turtle.circle(i // 3, 5)
# 彩虹色棒棒糖绘制完成
turtle.done()

5.15 防黑客暴力破解的用户登录系统

"""
需求:
根据输入用户名和密码,判断用户名和密码是否正确。
为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示。
数据库信息:
	name='root'	passwd='westos'
"""

try_count = 1  # 用户尝试登录的次数
while try_count <= 3:
    print(f'用户第{try_count}次登录系统')
    try_count += 1  # 用户尝试登录的次数+1
    name = input("用户名:")
    password = input("密码:")
    if name == 'root' and password == 'westos':
        print(f'用户{name}登录成功')
        exit()   # 退出程序
    else:
        print(f'用户{name}登录失败')
else:
    print("尝试的次数大于3次")

5.16 while循环和else结合的补充

"""
while 条件表达式:
    满足条件执行的内容
else:
    不满足条件执行的内容

for i in range(2):
    循环时执行的语句
else:
    没有for可以遍历的值时,执行的语句

"""
try_count = 1
while try_count <= 3:
    print(f"第{try_count}次开始尝试登录")
    try_count += 1
else:
    print("尝试登录次数大于3次")

5.17 循环语句语法汇总

"""
实现循环的两种方式:
1. while循环
1).
while 条件:
    满足条件的语句
2).
while 条件:
    满足条件的语句
else:
    不满足条件的语句
3). 死循环
while True:
    一直循环执行的代码
2. for循环
1). for和range的结合: 循环n次
for num in range(n):
    循环的语句
2). for和字符串的结合
for item in 'westos':
    循环的语句
3). for和else的结合
for num in range(n):
    循环的语句
else:
    循环结束后执行的语句

3. 跳出循环
- break: 跳出循环
- continue: 结束本次循环
- exit(): 退出整个程序

4. 循环嵌套: 九九乘法表
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值