本章我们主要来介绍下流程控制语句,分支语句、跳转语句、循环语句,如if,if else,while等。
1.分支语句
java和c等语言中都有判断语句if和多分支语句switch,但是在python中没有,多分支功能通过if-elif-else实现。
if语句有三种结构
if
if-else
if-elif-else
a.if结构
if结构的语法:
示例:
vim if.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 10:57
@File: if.py
@IDE: PyCharm
"""
score = int(input("请输入一个0-100的整数:"))
if score >= 85:
print("优秀!")
if score < 60:
print("不及格,需要努力!")
if (score >= 60 ) and (score < 85):
print("中等,还需要努力!")
b.if-else结构
if-else语法:
if 条件:
语句组1
else:
语句组2
vim if-else.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 11:26
@File: if-else.py
@IDE: PyCharm
"""
score = int(input("请输入一个0-100的整数:"))
if score >= 60:
if score >= 85:
print("优秀!")
else:
print("可以,还需努力!")
else:
print("不合格,还需加倍努力!")
c.if-elif-else结构
if-elif-else语法
if 条件1:
语句组1
elif 条件2:
语句组2
elif 条件3
语句组3
...
elif 条件n:
语句组n
else:
语句组n+1
vim if-elif-else.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 11:43
@Auth: zllv
@File: if-elif-else.py
@IDE: PyCharm
"""
score = int(input("请输入一个0-100的整数:"))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'F'
print("Grade =" + grade)
2.循环语句
Python支持的循环语句有:while和for
在java和C语言中都有wihle和do-while语句,但是在Python种只有while语句。
while语句语法:
while 循环条件:
循环体语句组
[else:
语句组]
vim .while.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 13:07
@File: while.py
@IDE: PyCharm
"""
i = 0
while i * i < 1000:
i == 1
print("i =" + str(i))
print("i * i =" + str(i * i))
vim while-1.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 13:07
@File: while.py
@IDE: PyCharm
"""
i = 0
while i * i < 10:
i += 1
print(str(i) + ' * ' + str(i) + '=', i * i)
else:
print("hello over!")
vim while-2.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 13:07
@File: while.py
@IDE: PyCharm
"""
i = 0
while i * i < 10:
i += 1
if i == 3:
break
print(str(i) + ' * ' + str(i) + '=', i * i)
else:
print("hello over!")
3.for 语句
Python中的for语句,for-in语句,可以遍历任意可迭代对象中的元素。
for语句一般格式
for 变量 in 可迭代对象:
循环体语句组
[else:
语句组]
vim for.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 13:47
@File: for.py
@IDE: PyCharm
"""
print("----字符串----")
for item in 'Hello':
print(item)
# 声明整体列表
numbers = [43, 32, 55, 74]
print("----整体列表----")
for item in numbers:
print(item)
vim for-1.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 14:20
@File: for-1.py
@IDE: PyCharm
"""
for item in range(10):
print(item)
else:
print('For Over!')
vim for-2.py
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 14:20
@File: for-2.py
@IDE: PyCharm
"""
for item in range(10):
if item == 3:
break
print(item)
else:
print('For Over!')
4.跳转语句
跳转语句可以改变程序的执行顺序,包括break、continue、return
break和continue用于循环体种,而return用于函数中。
a.break语句
break语句用于强行退出循环体,不再执行循环体种剩余的语句。
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 15:09
@File: break.py
@IDE: PyCharm
"""
for item in range(10):
if item == 3:
break
print(item)
b.continue语句
continue语句用于结束本次循环,跳过循环体中尚未执行的语句,
接着进行终止条件的判断,以决定是否继续循环。
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 15:09
@File: continue.py
@IDE: PyCharm
"""
for item in range(10):
if item == 3:
continue
print(item)
根据上述的学习,做个小题目
水仙花是一个三位数,三位数各位的立方之和等于三位数本身。
# -*- coding: utf-8 -*-
"""
@Time: 2024/5/22 15:17
@File: shuixian.py
@IDE: PyCharm
"""
i = 100
r = 0
s = 0
t = 0
while i < 1000:
r = i // 100
s = (i - r * 100) // 10
t = i - r * 100 - s * 10
if i == (r ** 3 + s ** 3 + t ** 3):
print("i = " + str(i))
i += 1