python(蟒蛇)三大控制流程语句


在这里插入图片描述

1.顺序执行

从上到下按顺序执行

2.分支选择 (if else)

if 表达式:
    执行代码

elif 表达式:
    执行代码

elif 表达式:  
    执行代码
.  …
  else:
    执行代码

说明: 只需要满足一个条件,程序会执行哪个条件下面的代码, 然后退出分支

python中input接受的是字符串,如果接收整型数,需要通过int转换成整型数

age = int(input ("请输入年龄:"))
if age >= 18:
    print ("成年")
else:
    print ("未成年")

在这里插入图片描述

分支语句之三元运算符

age = int(input("请输入年龄:"))
print("成年" if age>= 18 else "未成年")

在这里插入图片描述

多分支语句

"""
补充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")

在这里插入图片描述

"""
代码需求:
    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}登录失败')

在这里插入图片描述

3.循环语句

for i in xxxx:
    print()

while 表达式
    print()

while循环

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

需求: 输出数字从0-100

while循环

"""
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

在这里插入图片描述

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}登录失败')

在这里插入图片描述
需求: 输出数字0-100之间所有的偶数。
方法一:

count = 0
while count<=100:
    if count % 2 == 0:
       print(count)
    count += 1

方法二:

count = 0
while count <= 100:
    print(count)
    count += 2

在这里插入图片描述

for循环

for循环原理(从生成器上讲):
可以遍历序列成员, 可以用在 列表解析 和 生成器表达式中, 它会自动地调用迭代器的 next()
方法, 捕获 StopIteration 异常并结束循环(所有这一切都是在内部发生的).

range语法
range(start, end, step =1)返回一个包含所有 k 的列表, start <= k < end , k每次递增 step
eg:
range(3) – [0, 1, 2]
range(1, 4) – [1, 2, 3]
range(0, 6, 2) – [0, 2, 4]
range(1, 6, 2)–[1, 3, 5]
range(-3, 1)–[ -3, -2, -1, 0]
range(4, 1, -1)–[4, 3, 2]

# 需求: 输出数字从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)
# 需求: 输出数字0-100之间所有的偶数。
for num in range(0, 101, 2):
    print(num)
# 需求: 输出数字0-100之间所有的奇数。 for循环和range实现。
for num in range(1, 100, 2):
    print(num)
# for循环访问字符=串
string = 'adreamchaser'
# item='w', 'e', 's', 't'...
for item in string:
    print("---", item)

在这里插入图片描述

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

九九乘法表

"""
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()

在这里插入图片描述
登录次数限制

"""
需求:
根据输入用户名和密码,判断用户名和密码是否正确。
为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示。
数据库信息:
	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次")

在这里插入图片描述

循环与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次")
python内置数据类型
字符串str单引号,双引号,三引号引起来的字符信息
数组array存储同种数据类型的数据结构。[1, 2, 3], [1.1, 2.2, 3.3]
列表list打了激素的数组, 可以存储不同数据类型的数据结构. [1, 1.1, 2.1, ‘hello’]
元组tuple带了紧箍咒的列表, 和列表的唯一区别是不能增删改
集合set不重复且无序的(交集和并集)
字典dict{“name”:“westos”, “age”:10}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值