流程控制(if  while  for)

一.if

为什么要有if判断
判断事物的对错,真假,是否可行
想让计算机像人一样去工作,那么计算机也应该有对事物的对错,真假,是否可行的判断能力
从而做出不同的响应

固定语法
python用缩进表示代码的归属
同一缩进的代码,称之为代码块

补充:布尔值位False数据由哪些:0,None,'',[],{}
布尔值可以直接用来判断
变量名也可以用来判断,因为变量名指向的值对应的就是True或False

例子:

if 条件:代码1代码2代码3代码4...

if 条件:代码1代码2代码3代码4...else:  # 不能单独使用,必须和if,while,for配合使用
            代码1代码2代码3代码4...

if 条件:代码1代码2代码3代码4...
elif 条件:代码1代码2代码3代码4...
elif 条件:代码1代码2代码3代码4...
elif 条件:代码1代码2代码3代码4...
else:  # 不能单独使用,必须和if,while,for配合使用
            代码1代码2代码3代码4...

if 条件:代码1代码2代码3代码4...if 条件:代码1代码2代码3代码4...       if 条件:代码1代码2代码3代码4...                

练习1:

* 如果 成绩>=90,打印"优秀"
* 如果 成绩>=80 并且 成绩<90,打印"良好"
* 如果 成绩>=70 并且 成绩<80,打印"普通"
* 其他情况:打印"差"

if score >= 90:print('优秀')elif score >= 80:print('良好')elif score >= 70:print('普通')
else:print('差')

练习2:模拟登录注册

user_from_db = 'jason'
pwd_from_db = '123'user_from_inp = input('username: ')
user_from_inp = input('password: ')if user_from_inp == user_from_db and pwd_from_inp == pwd_from_db:print('login successful')
else:print('username or password error')

练习3:上下班

如果:今天是Monday,那么:上班
如果:今天是Tuesday,那么:上班
如果:今天是Wednesday,那么:上班
如果:今天是Thursday,那么:上班
如果:今天是Friday,那么:上班
如果:今天是Saturday,那么:出去浪
如果:今天是Sunday,那么:出去浪

today=input('>>: ')
if today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' or today == 'Thursday' or today == 'Friday':print('上班')
elif today == 'Saturday' or today == 'Sunday':print('出去浪')

today=input('>>: ')
if today in ['Monday','Tuesday','Wedensday','Thursday','Friday'] :print('上班')
elif today in['Saturday','Sunday'] :print('出去浪')

二.while

1.while语法

while 条件code 1code 2code 3...while True:print('>>>1')print('>>>2')print('>>>3')  #这是循环,我们写代码要避免这种死循环,必须要有退出循环的条件

2.while+break

break的意思是终止掉当前层的循环,执行其他代码。

举个例子:

user_db = 'jason'
pwd_db = '123'
while True:inp_user = input('username: ')inp_pwd = input('password: ')if inp_user == user_db and pwd_db == inp_pwd:print('login successful')break  else:print('username or password error')
print('退出了while循环')

3.while+continue

continue的意思是终止本次循环,直接进入下一次循环

例子:循环打印1,2,3,4,5,7,8,9,数字6不打印

n = 1
while n < 10:if n == 6:n += 1  # 如果注释这一行,则会进入死循环continueprint(n)n += 1

ps:continue不能加在最后一步执行的代码,因为代码加上去毫无意义

4.while+else

while+else:else会在while没有被break时才会执行else中的代码。

例子:

n = 1
while n < 3:if n == 2:break  # 不会走elseprint(n)n += 1
else:print('else会在while没有被break时才会执行else中的代码')

5.while循环嵌套

例子:ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。

# 退出内层循环的while循环嵌套
user_db = 'jason'
pwd_db = '123'
while True:inp_user = input('username: ')inp_pwd = input('password: ')if inp_user == user_db and pwd_db == inp_pwd:print('login successful')while True:cmd = input('请输入你需要的命令:')if cmd == 'q':breakprint('%s功能执行'%cmd)else:print('username or password error')
print('退出了while循环')

# 退出双层循环的while循环嵌套
user_db = 'jason'
pwd_db = '123'
while True:inp_user = input('username: ')inp_pwd = input('password: ')if inp_user == user_db and pwd_db == inp_pwd:print('login successful')while True:cmd = input('请输入你需要的命令:')if cmd == 'q':breakprint('%s功能执行'%cmd)breakelse:print('username or password error')
print('退出了while循环')

下面展示一种用定义标志位来退出多个while循环的方法,这样不需要写多个break:

# 退出双层循环的while循环嵌套
user_db = 'jason'
pwd_db = '123'
flag = True
while flag:inp_user = input('username: ')inp_pwd = input('password: ')if inp_user == user_db and pwd_db == inp_pwd:print('login successful')while flag:cmd = input('请输入你需要的命令:')if cmd == 'q':flag = Falsebreakprint('%s功能执行'%cmd)else:print('username or password error')
print('退出了while循环')

三.for循环

通过一个例子比较一下while循环与for循环:

name_list = ['jason', 'nick', 'tank', 'sean']n = 0
while n < len(name_list):  # while n < 4:print(name_list[n])n += 1

for name in name_list:print(name)  # 对比与while更加简便

上面的例子是如何用for循环来遍历列表,当面对字典时,while循环很难操作,反而for循环就很简便:

info = {'name': 'jason', 'age': 19}
for item in info:print(item)  # 拿到字典所有的keyprint(info[item])

for循环也可以按照索引取值

for i in range(1, 10):  # range顾头不顾尾print(i)

name_list =  ['jason', 'nick', 'tank', 'sean']
# for i in range(0,5):  # 5是数的
for i in range(len(name_list)):print(i, name_list[i])

for循环与while循环都可以存在 break continue

for循环练习题:

1.打印99乘法口诀表

'''
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
9*1=9.................9*9=81
'''

for i in range(1,10): #i=3for j in range(1,i+1):print('%s*%s=%s ' %(i,j,i*j),end='') #i=2 j=2print()

转载于:https://www.cnblogs.com/s686zhou/p/11120844.html

python入门基础三之流程控制相关推荐

  1. excel的宏与VBA入门(三)——流程控制

    一.条件控制IF if 逻辑表达式 then语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1ElseIf 逻辑表达式2 Then 语句块2ElseIf 逻辑表达式3 ...

  2. python 入门基础(三)-Python入门基础(第3天):基本数据类型

    一.基本数据类型 1.数字 通常的int, long,float,long等等都被支持.而且会看你的具体数字来定义变量的类型. #int 类型#bit_length() 返回一个数的二进制长度 2.字 ...

  3. python 判断列表所有元素是否为某个值_这应该是最详细的Python入门基础语法总结!...

    这应该是最详细的Python入门基础语法总结! 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输 ...

  4. 儿童python教程书-Python入门基础教程(儿童版) [分享一本入门级教程]

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. 推荐书名 No Starch--Python for ...

  5. python入门基础代码初学

    python入门基础代码初学 一.检查python安装 二.print使用 二.使用python运算 三.enumerate()函数 一.检查python安装 PS C:\Users\admin> ...

  6. 【目录】Python 入门基础篇 <(^-^)>

    Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...

  7. Python入门基础知识学什么?

    Python基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python入门基础知识学什么呢?来看看下面小编的详细介 ...

  8. python入门基础教程-Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  9. java个十百千万位余数_1 Java第三课[流程控制]

    1 Java第三课[流程控制] 1.1 回顾: 1. 标识符的命名:标识符通常意义上是指 类名,包名,方法名,属性名,普通变量等等. 2. 类命名:每个单词的首字母大写; 3. 变量命名规则:字母数字 ...

最新文章

  1. 使用@Autowired注入RedisTemplate时报java.lang.NullPointerException
  2. blender的汉化方法!
  3. Redis的三个框架:Jedis,Redisson,Lettuce
  4. python 堆_【译】Python中的堆排序
  5. Unity 之圆环算法
  6. conda安装与入门
  7. Android 垃圾回收机制★★★
  8. myeclipse安装插件phpeclipse后进行PHP代码编写
  9. thinkpad电源管理解决办法 win2019
  10. github上传本地项目简单方式记录一
  11. 蒙特卡洛_蒙特卡洛辍学
  12. 路由器当交换机用,应该怎样配置?
  13. 给你的Blog加条小金鱼
  14. Tekla structures深入定制开发篇(一)
  15. Spark SQL操作Hive表
  16. 思科模拟器出现Translating XXXX...domain server (255.255.255.255) 解决办法
  17. 计算机上播放时没声音什么故障,新买的电脑插上耳机没有声音怎么办?具体故障原因及解决方法看这里...
  18. (VS)c++调用matlab函数
  19. windows下设置GPU加速tensorflow运算(GT940M)
  20. cannot connect to 192.168.137.137:5555: 由于目标计算机积极拒绝,无法连接。

热门文章

  1. 计算机基本基础知识实训总结,计算机基本技能实训总结报告[].doc
  2. 内网渗透测试:域内权限维持思路总结
  3. 学编程能做什么工作 五大行业任你选
  4. 【广告计算】互联网控制舆论的三个方法
  5. LIN雨量传感器:PCB拆解及LIN数据协议解析
  6. 开发手机游戏的步骤是怎样的?
  7. PL2303GT USB to RS232 Serial Bridge Controller (Built in RS232 XCVR)驱动地址
  8. 直角坐标系转球坐标系 Equirectangular 理解 代码 Unity
  9. 计算机开机按f1,开机要按F1怎么解决?电脑开机不按F1进去系统的方法
  10. Ardupilot 航线规划代码学习