欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > python学习9:python的三类流程控制-ifelse/while/for

python学习9:python的三类流程控制-ifelse/while/for

2024/10/24 11:17:39 来源:https://blog.csdn.net/m0_53780713/article/details/141862463  浏览:    关键词:python学习9:python的三类流程控制-ifelse/while/for

三类流程:顺序结构,分支结构,循环结构

一.顺序结构

# 1.顺序结构:从上往下
# 案例:通过输入两个数字,输入完成后进行交换a = input("请输入第一个数据:")b = input("请输入第二个数据:")print('交换之前:a=%s,b=%s' % (a,b))# 进行交换c = aa = bb = cprint('交换之后:a=%s,b=%s' % (a,b))

二.分支结构:

单项分支,双项分支,多项分支,嵌套分支
# 2.分支结构:满足某个条件执行某个路径:if else
# 分类:单项分支,双项分支,多项分支,嵌套分支
# 2-1)单项分支
# if 条件:
#     代码块
# 案例:输入一个字符,判断是否为纯数字,是的话就输入:是数字
a = input("请输入第一个数据:")
if a.isdigit(): # 成立则执行以下代码print('是数字!')
print('程序结束')# 2-2)双项分支:if else
# if 条件:
#     代码1
# else:
#     代码2
# 案例:输入一个字符,判断是否为纯数字,是的话就输入:是数字
a = input("请输入第一个数据:")
if a.isdigit(): # 成立则执行以下代码print('是数字!')
else:print('不是数字!')
print('程序结束')# 2-3)多项分支:if else
# if 条件1:
#     代码1
# elif 条件2:
#      代码2
# ....
# else:
#     代码3
# 案例:买票,3岁以下:不需要买;4-11:买儿童票;12-59成人票;>=60 不需要买
age = input("请输入用户年龄:")
age = int(age)
if age >= 60:print('老年人无需买票')
# elif age>=12 and age <= 59:
elif age >= 12: # 优化print('请买成人票')
# elif age >= 4 and age <= 11:
elif age >= 4: # 优化print('买儿童票哦')
else:print('免费票!')# 2-4)嵌套分支:
# if 条件:
#     if 条件:
#        代码块:
#     else:
#         ...
# else:
#     ...
# 案例:如果输入的是数字,则执行以上买票行为
age = input("请输入用户年龄:")
if age.isdigit():if age >= 60:print('老年人无需买票')# elif age>=12 and age <= 59:elif age >= 12:  # 优化print('请买成人票')# elif age >= 4 and age <= 11:elif age >= 4:  # 优化print('买儿童票哦')else:print('免费票!')
else:print('不是数字!')
# 输入一个需要修改的数据,在的话则修改;不在则提示不存在集合
set1 = {'java','c++','python','vue'}
data = input("请输入需要删除的数字:")
if data in set1:# 则删除set1.remove(data)print('删除后的数据:{info}'.format(info = set1))
else:# 不在集合print('没有这个数可删除哦!')

三.循环结构(while/for)

# 3.循环结构:反复执行某个代码,直到对应的条件不成立则结束:while,for
# 3-1)while循环
# while 条件:# 是否成立,成立则进入代码块,直到条件不成立则退出循环
#     代码
# 怎么避免死循环?
# 方法一:①要控制条件不能永远成立 ---引用对应的变量
# ②在每次循环体中修改这个变量的值
# 案例:循环输出3次:我爱学习
num = 0 # 自增
while num < 3: # 0 1 2print("我爱学习")# 每进入循环体,修改一次numnum +=1
print('循环结束')
num = 3 # 自减
while num > 0: # 3 2 1print("我爱学习")# 每进入循环体,修改一次numnum -=1
print('循环结束')
# 方法二:break,contiune 关键字去进行控制
# break: 直接退出当前循环
# continue:不执行后面的代码块,直接进入下一次循环
num = 0
while True:print('我爱学习')num +=1if num == 3:break # 直接退出当前的循环

案例:continue

# continue:num1=10 当num2>10 输出num2 > num1 并且退出,否则就让它继续执行num1 = 10
num2 = 0
while True:if num2 > num1: # 0>10?breakelse:# continue # 如果放在这个位置的话 num2 += 1不会运行 永真num2 += 1 # 所以如果要运行该代码 则必须放在continue之前continue
print("num2={}".format(num2))# 案例:当用户输入的是纯数字则退出循环,让对应的数据相加
# num = 1
# while True: # 不知道什么时候输入对,所以永真的状态下进行输入
#     print('------第{}次循环-------'.format(num))
#     a = input("请输入第一个数字:")
#     b = input('请输入第二个数字:')
#     if a.isdigit() and b.isdigit():
#         sum = int(a)+int(b)
#         break
#     else:
#         num +=1
#         # 一直输入不是数字的话,就一直输入
#         continue
# print("sum={}".format(sum))# 案例:输入密码,输错大于3次则退出输入
# user = 'xxx'
# pwd = '123456'
# while True:
#     input_user = input('请输入用户名:')
#     input_pwd = input('请输入密码:')
#     if input_user == user and input_pwd == pwd :
#         print('登录成功!')
#         break
#     elif input_user == user and input_pwd != pwd :
#         num += 1
#         # print('密码错误!')
#         if num <= 3:
#             print('密码有误')
#         else:
#             print('密码次数超过3次!')
#             break
#     else:
#         print('用户名错误!')

案例:for

# for 循环遍历
# for 变量名 in 可迭代的数据类型(列表,元组,字典,集合):
#      代码块
list1 = ['python','c++','vue']
for i in list1:print(i)dict1 = {'name':'xxx','age':22}
for key in dict1:# print(key)print(dict1[key])
for key in dict1.keys():print(key)
for value in dict1.values():print(value)# 嵌套循环---------------------------------------------------------------------------
# for 变量名 in 可迭代的数据类型(列表,元组,字典,集合):
#      代码块
#       for 变量名 in 可迭代的数据类型(列表,元组,字典,集合):
#            代码块
li = [[11,22],[33,44],[55,66]]
for i in li:# print(i)for k in i:print(k)# range()控制循环次数:---生成一个有序的数字列表-----------------------------------------
# range(n,m,k) # n起设值,m 结束值 , k 步长 =1
for i in range(1,10):print(i) # 9;左闭右开list2 = ['python','vue1','vuew']
for i in range(0,len(list2)):print(i)

案例示范:乘法口诀表

存在疑惑:我也不知道为什么/n会展示出来???列入待研究

# 案例:乘法九九表
for i in range(1,10): # 1-9for j in range(1,i+1):print("{}*{}={}\t".format(j,i,j*i),end="")print("/n") # j结束的时候就换行

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com