DAY4 if、while和for
一、if 判断
语法一:
if 条件:
# 以下是上一条if 的子代码块
print(子代码1)
print(子代码2)
print(子代码3)
if 运行完之后会执行代码下方 上一缩进级 的代码块
语法二:
if 条件:
# 以下缩进级是条件成立时执行的代码块
print(子代码1)
print(子代码2)
print(子代码3)
else:
# 以下缩进级是条件不成立时执行的代码块
print(子代码4)
print(子代码5)
print(子代码6)
语法三:
if 条件1:
print(子代码1)
print(子代码2)
print(子代码3)
elif 条件2:
print(子代码4)
print(子代码5)
print(子代码6)
elif 条件3:
print(子代码7)
print(子代码8)
print(子代码9)
else:
print(子代码10)
print(子代码11)
print(子代码12)
示例:
# 需求描述:
如果成绩 >= 90,那么:优秀
如果成绩 >= 80且 < 90, 那么:良好
如果成绩 >= 70且 < 80, 那么:普通
其他情况:很差
score = input('please input your score')
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('很差')
语法四:(if判断的嵌套)
sex = 'female'
age = 18
is beautiful = True
is cuccessful = True
if sex == 'female' and age == 18 and is beautiful:
print('开始表白')
if is cuccessful:
print('在一起')
else:
print('有缘无分')
else:
print('阿姨好')
二、while循环
语法:
while 条件:
print('代码1')
print('代码2')
print('代码3')
示例:
# 循环输入账号密码,并嵌套if判断来打印相输入账号密码后的结果
while True:
name = input('please input your name:')
pwd = int(input('please input your password'))
if name == 'egon' and pwd == 123
print('login successful')
else:
print('username or password error')
结束while循环的两种方式:
方式一:将while条件改为False
在条件改为False时不会立即结束掉循环,而是要等到下一次循环判断条件时才会生效
示例:
# 在输入正确账号密码之后就停止再次输入账号
tag = True # 将True赋值给一个变量,让变量的真假成为条件,通过更改变量的真假来达到改变条件的真假
while tag:
name = input('please input your name')
pwd = input('please input your password')
if name == 'egon' and pwd == 123:
print('login successful')
tag = False
else:
print('username or password error')
方式二:while + break
break一定要放在循环体内,一旦循环体执行到break就会立即结束本层循环
示例:
# 在输入正确账号密码之后就停止再次输入账号
while True:
name = input('please input your name')
pwd = input('please input your password')
if name == 'egon' and pwd == 123'):
print('login success')
break
else:
print('username or password error')
中止while的方式:(不是终止)
while + continue:结束本次循环,直接进入下一次循环
示例:
# 除了4,取1-6
count = 1
while count < 7:
if count == 4:
count += 1
因为本次循环到此结束,想要让代码继续运行下去,就必须要对count今天增量赋值
continue下面的增量赋值指令是无法被执行的,但是增量赋值还是要进行
所以加在contine上面
continue
print(count)
count += 1
注意:continue加在循环的最后一行便是无用代码,
因为循环最后一行运行完之后自动会重新进行循环,无需continue来中止循环
while循环的嵌套:
while 条件1:
while 条件2:
代码1
代码2
代码3
示例一:
在输错就循环,输对就结束程序的基础上加上:
输对之后进入下一层功能界面,其中的退出功能可直接终止循环
while True:
name = input('please input your name')
pwd = input('please inpunt your password')
if name == 'egon' and pwd == '123':
print('login successful')
while True:
print('''
0 退出
1 取钱
2 转账
3 查询
''')
choice = input('请选择您要执行的操作:')
if choice == '0':
break # 终止此层循环,执行上一缩进级的吓一条代码,即 #1 break
elif choice == '1':
print('取钱')
elif choice == '2':
print('转账')
elif choice == '3':
print('查询')
else:
print('操作有误,请重新选择:')
break # 此处为 #1 break
else:
print('用户名或者密码错误!')
示例二:
# 两个while循环使用相同的可变量True ,只要运行到 '0 退出'就直接封锁所有whjle循环
tag = True
while tag:
name = input('please input your name:')
pwd = input('please input your password:')
if name == 'egon' and pwd == '123':
print('login successgul')
while tag:
print('''
0 退出
1 取款
2 转账
3 查询
''')
choice = input('请选择您要执行的操作:')
if choice == '0':
tag = False
elif choice == '1':
print('取款')
elif choice == '2':
print('转账')
elif choice == '3':
print('查询')
else:
print('操作有误,请重新选择:')
else:
print('用户名或者密码错误!')
三、for循环
for循环的强大之处在于循环取值
示例:
# 取出列表中的值并打印
list = [a,b,c,d,e]
# 使用while循环取值:
i = 0
while i < 6:
print(list[i]) # i作为整型变量充当列表中的索引存在于 list[i]中,从而达到 顺延索引值 来取值的效果
i += 1
# 使用for循环取值:
for i in list:
# 这层for循环第一次循环时,这一行其实就是 i = list[1],把列表中的第一个值赋值给i
print(i)
# 取出字典中的值并打印
dic={'name':'egon','age':18,'gender':'male'}
for i in dic:
print(i,dic[i])
# 这里的i为字典中的key,故dic[i]则为字典中key_i对应的value
for + continue:中止本次for循环(不是终止)
示例:
# 打印到xx就跳过此次打印
nums=[11,22,33,44,55]
for i in nums:
if i == 44
continue
print(i)
for + break:终止本层for循环
示例:
# 打印到xx就停止打印
nums=[11,22,33,44,55]
for i in nums:
if i == 44:
break
print(i)
for + else :
示例:
names=['egon','kevin1111_dsb','alex_dsb','mac_dsb']
for name in names:
if name == 'kevin1111_dsb'
break # 一旦因break而终止循环的情况,上一个缩进级的else代码便不会被执行
print(name)
else:
print('else测试代码')
for + range():
range的用法
>>> range(1,5)
[1, 2, 3, 4]
>>> for i in range(1,5):
... print(i)
...
1
2
3
4
>>> range(1,5,1)
[1, 2, 3, 4]
>>> range(1,5,2) # 1 3
[1, 3]
for循环的嵌套:
示例:
for i in range(3):
for j in range(4):
print(i,j)
# 无法理解的就看下面的代码,即将range转换为列表方便理解
for i in [0,1,2]: # i=1
for j in [0,1,2,3]: # j=1
# 执行完下层缩进级的for循环,
才会回到上层缩进级的for循环去继续循环未完成的上层循环
print(i,j)
DAY4 if、while和for的更多相关文章
- python_way,day4 内置函数(callable,chr,随机验证码,ord),装饰器
python_way,day4 1.内置函数 - 下 制作一个随机验证码 2.装饰器 1.内置函数 - 下 callable() #对象能否被调用 chr() #10进制数字对应的ascii码表中的内 ...
- Spark菜鸟学习营Day4 单元测试程序的编写
Spark菜鸟学习营Day4 单元测试程序的编写 Spark相比于传统代码是比较难以调试的,单元测试的编写是非常必要的. Step0:需求分析 在测试案例编写前,需完成需求分析工作,明确程序所有的输入 ...
- Spark Tungsten揭秘 Day4 内存和CPU优化使用
Spark Tungsten揭秘 Day4 内存和CPU优化使用 今天聚焦于内存和CPU的优化使用,这是Spark2.0提供的关于执行时的非常大的优化部分. 对过去的代码研究,我们会发现,抽象的提高, ...
- Catalyst揭秘 Day4 analyzer解析
Catalyst揭秘 Day4 analyzer解析 今天继续解析catalyst,主要讲一下analyzer,在sql语句的处理流程中,analyzer是在sqlparse的基础上,把unresol ...
- Kakfa揭秘 Day4 Kafka中分区深度解析
Kakfa揭秘 Day4 Kafka中分区深度解析 今天主要谈Kafka中的分区数和consumer中的并行度.从使用Kafka的角度说,这些都是至关重要的. 分区原则 Partition代表一个to ...
- Python之路,Day4 - Python基础4 (new版)
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- ##DAY4 事件的基本概念、触摸的基本概念、响应者链、手势
##DAY4 事件的基本概念.触摸的基本概念.响应者链.手势 #pragma mark ———————事件的基本概念 ——————————— 事件的基本概念: 1)事件是当用户的手指触击屏幕及在屏幕 ...
- Day4:T1小技巧(类似于指针操作)T2搜索+小细节
Day4:其中有很多小技巧get T1 一直没有听到过像这样的小技巧的略专业名词,有点类似于指针操作,之前有碰到过很多这样的题目 每次都是以不同的形式出现,但是感觉思想还是有点接近的吧(就比如某天有一 ...
- Python基础篇-day4
本节目录: 1.字符编码 2.函数 2.1参数 2.2变量 2.3返回值 2.4递归 2.5 编程范式 2.6 高阶函数 *************************************** ...
随机推荐
- MySQL修改库名的方法
先创建新的库,再用RENAME TABLE 语句移动旧库中的表到新库,最后删除旧库. (root@localhost) [(none)] create database mydb_2; Query O ...
- A-作业01
#1 简单作业 1. 系统的日志文件/var/log/secure /var/log/messages /var/log/cron会自动的进行轮询,系统是通过什么实现的? 2. 写出下面特殊符号在定时 ...
- 作为phper既然了解共享内存函数shmop的使用方法,那么就必须要了解一下信号量是什么,以及信号量使用的代码案例
在单独的一个PHP进程中读写.创建.删除共享内存方面上你应该没有问题了.但是实际运行中不可能只是一个PHP进程在运行中.如果在多个进程的情况下你还是沿用单个进程的处理方法,你一定会碰到问题--著名的并 ...
- v-text v-html等指令的使用
v-text:以纯文本方式显示数据: v-html:可以识别HTML标签: v-once:只渲染元素或组件一次: v-pre:不进行编译,直接显示内容: v-cloak:可以隐藏未编译的 Mustac ...
- jQuery常用插件与jQuery使用validation插件实现表单验证实例
jQuery常用插件 1,jQuery特别容易扩展,开发者可以基于jQuery开发一些扩展动能 2,插件:http://plugins.jquery.com 3,超厉害的插件:validation . ...
- 数据结构(C语言)—排序
数据结构(C语言)—排序 排序 排序是按关键字的非递增或递减顺序对一组记录中心进行排序的操作.(将一组杂乱无章的数据按一定规律顺次排列起来.) 未定列表与不稳定列表 假设 Ki = Kj ( 1 ≤ ...
- 20165310 NstSec2019 Week1 Exp0 Kali安装
20165310 NstSec2019 Week1 Exp0 Kali安装 Kali下载与安装 进入Kali官网 ,进入Download选项,选择Kali Linux 64 bit VMware VM ...
- 【TensorFlow】tf.nn.max_pool实现池化操作
max pooling是CNN当中的最大值池化操作,其实用法和卷积很类似 有些地方可以从卷积去参考[TensorFlow]tf.nn.conv2d是怎样实现卷积的? tf.nn.max_pool(va ...
- python --- 22 初始模块 random time collections functools
一 .初始模块 1.从⼩到⼤的顺序: ⼀条代码 < 语句块 < 代码块(函数, 类) < 模块 2.引入模块的方式 ① import 模块 ② from 模块 im ...
- C# 字典常用方法
/* ######### ############ ############# ## ########### ### ###### ##### ### ####### #### ### ####### ...