python 控制流程
条件语句
if语法
if True:
print("hello")
print("world!")
输出:
hello
world!
举例:
"""
问题:输入一个年龄。若大于18岁,则可以上网
重点:由于input输入的是字符串类型,故不能与18比较,所以要进行int类型转换
"""
age = int(input("请输入您的年龄:")) if age > 18:
print(f'你的年纪是{age},可以上网!')
输出:
请输入您的年龄:19
你的年纪是19,可以上网!
扩展:
age = int(input("请输入您的年龄:")) if age < 18:
print(f'你的年纪是{age},太小了!')
elif(age >= 18) and (age <= 60):
print(f'您的年纪是{age},合法年纪!')
elif age > 60:
print(f'您的年纪是{age},太老了!')
注释: (age >= 18) and (age <= 60) 可以简化为:18 <= age <= 60
if嵌套
"""
money = 1,代表有钱,反之没钱
seat = 1,代表有座,反之没座
"""
money = 1
seat = 0 if money == 1:
print("有钱,请上车")
if seat != 1:
print(" 没座,请站着")
else:
print(" 有座,赶紧坐")
else:
print("没钱,后边跑")
案例:猜拳游戏
扩充:随机数
1、导入random模块
import random2、使用函数
random.randint(开始,结束)
"""
1、出拳
玩家:手动输入:plater
剪刀:0、石头:1,布:2
电脑:随机输入
随机数:computer
2、判断
玩家赢
玩家剪刀,电脑布
玩家石头,电脑剪刀
玩家布,电脑石头
平局
玩家剪刀,电脑剪刀
玩家石头,电脑石头
玩家布,电脑布
电脑赢
玩家剪刀,电脑石头
玩家石头,点胶布
玩家布,电脑剪刀
"""
import random computer = random.randint(0,2)
player = int(input("请出拳:0--剪刀,1--石头,2--布:"))
print(f'电脑:{computer}') if((player == 0) and (computer ==2 ) or (player == 1) and (computer == 0) or (player == 2) and (computer == 1)):
print("玩家获胜!")
elif player == computer:
print("平局")
else:
print("电脑获胜")
三目运算符
语法:条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
a = 11
b = 22
c = a + b if a < b else a - b
print(c)
循环语句
while循环
语法:
举例1:1-100整数相加,然后输出结果
"""
1-100整数相加,然后输出结果 """
i = 1
result = 0 while i <= 100:
result += i
i += 1
print(f'1+....+100={result}')
举例2:1-100内的偶数相加,然后输出结果
方法1:
i = 0
even_result = 0 while i <= 100:
even_result += i
i += 2
print(f'0+2+...+100={even_result}')
方法2:
i = 1
even_result = 0 while i <= 100:
if i % 2 == 0:
even_result += i
i += 1
print(f'0+2+...+100={even_result}')
while嵌套循环
"""
j=0
j=1
j=2
j=3
i的第1遍循环
j=0
j=1
j=2
j=3
i的第2遍循环
j=0
j=1
j=2
j=3
i的第3遍循环
j=0
j=1
j=2
j=3
i的第4遍循环
i的循环结束
"""
i = 0
while i <= 3:
j = 0
while j <= 3:
print(f'j={j}')
j += 1
print(f'i的第{i+1}遍循环')
i += 1
print("i的循环结束")
举例3:
"""
打印星号:正方形
*****
*****
*****
*****
*****
"""
i = 0
while i <= 4:
j = 0
while j <= 4:
print("*",end="")
j += 1
print()
i += 1
举例4:
"""
打印星号:三角形
*
**
***
****
*****
"""
i = 0
while i <= 4:
j = 0
while j <= i:
print("*",end="")
j += 1
print()
i += 1
举例5:九九乘法表
"""
九九乘法表
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
"""
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{i} * {j} = {i*j}',end="\t")
j += 1
print()
i += 1
break
终止整个循环
"""
i == 4时,终止整个循环 """
i = 1
while i <= 5:
if i == 4:
print("结束了")
break
print(i)
i += 1输出:
1
2
3
结束了continue
退出当前一次循环而执行下一次循环
"""
i == 4时,终止整个循环
在使用continue之前一定要修改计数器,否则陷入死循环
"""
i = 1
while i <= 5:
if i == 4:
print("跳过")
i += 1
continue
print(i)
i += 1输出:
1
2
3
跳过
5
while -else
循环正常执行完毕后,才执行else的内容:
"""
5
4
3
2
1
结束了
"""
i = 5 while i > 0:
print(i)
i -= 1
# 循环正常结束后才执行
else:
print("结束了")
break的使用:
"""
5
4
3
"""
i = 5 while i > 0:
print(i)
i -= 1
if i == 2:
break
# 循环正常结束后才执行
else:
print("结束了")
continue的使用:
"""
5
4
3
跳过2
1
结束了
"""
i = 5 while i > 0:
if i == 2:
i -= 1
print("跳过2")
continue
print(i)
i -= 1
# 循环正常结束后才执行
else:
print("结束了")
for循环
语法:
break:
"""
for循环中使用break:
h
e
l
l
o
w
o
遇到r结束
"""
src = 'helloworld' for i in src:
if i == 'r':
print("遇到r结束")
break
print(i)continue:
"""
for循环中使用continue:
h
e
l
l
o
w
o
遇到r跳过
l
d
"""
src = 'helloworld' for i in src:
if i == 'r':
print("遇到r跳过")
continue
print(i)
for-else
"""
h
e
l
l
o
w
o
r
l
d
结束循环
"""
src = 'helloworld' for i in src:
print(i)
# for 循环正常结束后,才会执行else
else:
print("结束循环")
break的使用:
"""
h
e
l
l
o
w
o
r
"""
src = 'helloworld' for i in src:
print(i)
if i == 'r':
break
# for 循环正常结束后,才会执行else
else:
print("结束循环")
continue的使用:
"""
h
e
l
l
o
w
o
跳过r
l
d
结束循环
"""
src = 'helloworld' for i in src:
if i == 'r':
print("跳过r")
continue
print(i) # for 循环正常结束后,才会执行else
else:
print("结束循环")
实例总结
用户信息管理
def info_put():
"""显示功能界面:"""
print('请输入序号:————————————————') print('1、添加用户信息')
print('2、删除用户信息')
print('3、修改用户信息')
print('4、查询用户信息')
print('5、显示所有用户信息')
print('6、退出系统')
print('—'*27) #定义存储用户信息字典的列表
info = [] def add_user():
"""添加用户"""
new_id = input('请输入id:')
new_name = input('请输入名字:')
new_tel = input('请输入电话:') #声明info为全局列表
global info
#判断用户是否重复
for i in info:
if new_name == i['name']:
print('--此用户已存在,请重新输入!--')
return
#定义存储用户信息的字典
info_dict = {} info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel #追加字典到列表中
info.append(info_dict) print(info) def del_user():
"""删除用户"""
del_name = input('请输入要删除用户的名字:') global info for i in info:
if del_name == i['name']:
print('删除成功!')
info.remove(i)
break
else:
print('该用户不存在!') print(info) def modify_user():
"""
修改用户的电话号
:return:
"""
modify_name = input('请输入要修改的用户名:') global info for i in info:
if modify_name == i['name']:
modify_tel = input('请输入新的手机号:')
i['tel'] = modify_tel
break
else:
print('该用户不存在!') print(info) def see_user():
"""
查看用户信息
:return:
"""
see_name = input('请输入要查找的用户名:') global info for i in info:
if see_name == i['name']:
print('查找到的用户信息如下:')
#单引号和双引号的使用可以一起用
print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}")
break
else:
print('该学员不存在!') def print_all():
"""
打印所有用户信息
:return:
"""
print("显示所有用户信息:")
for i in info:
print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}") while True:
#显示功能界面
info_put() #用户输入序号
num = int(input('请输入功能序号:')) #功能判断
if num == 1:
#print('添加')
add_user()
elif num == 2:
#print('删除')
del_user()
elif num == 3:
#print('修改')
modify_user()
elif num == 4:
#print('查询')
see_user()
elif num == 5:
#print('显示所有')
print_all()
elif num == 6:
#print('退出')
print("确定要退出么?yes or no")
exit_flag = input()
if exit_flag == 'yes':
break
else:
print('输入错误,请重新输入!') """
请输入序号:————————————————
1、添加用户信息
2、删除用户信息
3、修改用户信息
4、查询用户信息
5、显示所有用户信息
6、退出系统
———————————————————————————
请输入功能序号:
"""
python 控制流程的更多相关文章
- Python控制流程
if elif else的用法 三目运算符的用法 while 和 for 两种循环 break 和 continue 的用法 条件判断 if elif else if 和 elif 后面填的判 ...
- Python之流程控制——if...else...
Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...
- Python之流程控制——while循环
Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...
- python之流程控制升级
python之流程控制:if elif else while for 一.流程控制之if: 1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的 ...
- python基础之打/解包及运算符与控制流程
python基础之打/解包及运算符与控制流程 python中的解压缩(即序列类型的打包和解包) python提供了两个设计元祖和其他序列类型的处理的便利,也就是自动打包与自动解包功能,比如: data ...
- Python通过subprocess.Popen.poll控制流程
python写流程控制的时候,有时需要等待运行结果完成才能进行下一步.有几个想法: 一是反复循环判断直到生成结果文件(且文件中有预期结果),低效易出错: 二是用subprocess模块来判断进程结果, ...
- 【Python】语言的控制流程
二.Python语言的控制流程 1.程序的组织结构 1.1 顺序结构:从上到下顺序的执行代码,直到程序结束,没有任何判断和跳转 1.2 选择结构:根据判断条件的布尔值选择性的执行部分代码:if语句 1 ...
- python基础-->流程控制-->分支结构-->单项分支-->双向分支
# ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...
- 一步步制作下棋机器人之 coppeliasim进行Scara机械臂仿真与python控制
稚晖君又发布了新的机器人,很是强大. 在编写时看到了稚晖君的招聘信息,好想去试试啊! 小时候都有一个科幻梦,如今的职业也算与梦想有些沾边了.但看到稚晖君这种闪着光芒的作品,还是很是羡慕. 以前就想做一 ...
- MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- 『玩转Streamlit』--数据展示组件
数据展示组件在Streamlit各类组件中占据了至关重要的地位, 它的核心功能是以直观.易于理解的方式展示数据. 本次介绍的数据展示组件st.dataframe和st.table,能够将复杂的数据集以 ...
- MinIO Linux 安装使用 & SpringBoot整合MinIO
目录 MinIO Linux 安装 单节点部署 创建 systemd 系统启动服务文件 创建环境变量文件 启动MinIO服务 连接到MinIO服务 SpringBoot项目整合MinIO 配置项 工具 ...
- python3的json数据库-TinyDB效率篇
安装了这个TinyDB库后,我突然想到一般来说python执行的速度并不算高,那这个库写文件速度如何呢? 测试代码如下: from tinydb import TinyDB import time # ...
- Java基础总结大纲(一)
1.JVM.JRE.和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性.说明:java是跨平台的而JVM不是跨平台的,正对的不同的语言 ...
- 通过双 key 来解决缓存并发问题
我们在使用缓存的时候,不管Redis或者是Memcached,基本上都会遇到以下3个问题:缓存穿透.缓存并发.缓存集中失效.这篇文章主要针对[缓存并发]问题展开讨论,并给出具体的解决方案. 1.什么是 ...
- nginx之常见错误
在此只介绍源码安装nginx的时候,发生的一些常见的错误 1. nginx访问出现File not found 1) php-fpm找不到SCRIPT_FILENAME中执行的PHP文件 更改配置文件 ...
- 开发Git分支管理
目前分支管理 AngularJS在github上的提交记录被业内大多数开发人员认可,逐渐被广泛引用. 代码提交Message格式 type (scope): message 参数介绍: 1.type: ...
- ORACLE本地磁盘备份恢复
1.部署新备份磁盘(源和目标) [oracle@cmxdb /ora_bak]$ mkdir -p /oracle/rmanback [oracle@cmxdb /ora_bak]$ chown -R ...
- 推荐7个最强Appium替代工具,移动App自动化测试必备!
在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节.Appium 作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知.然而,在不同的测试场景和需求下,还有许多其他优 ...
- shp文件及附属
主文件 .shp - 用于存储要素几何的主文件,之前分享过该文件的结构详解:必需文件. .shx - 用于存储要素几何索引的索引文件:必需文件. .dbf - 用于存储要素属性信息的 dBASE 表, ...