day5.流程控制及while单项循环
一、判断类型 isinstance
1、语法
"""
语法:
# 用法一
isinstance(要判断的值,要判断的类型) 返回True 或者 False
# 用法二
isinstance(要判断的值,(可能的类型1,可能的类型2,可能的类型3 ... ) ) 如果有一个类型满足,返回的是True 否则 返回False 数据类型:
int float bool complex str list tuple set dict
"""
1.1、用法一
res = isinstance(5,int)
res = isinstance("",str)
res = isinstance([1,2,3],tuple)
print(res)
1.2、用法二
res = isinstance(16, (str,list,tuple) )
print(res)
二、代码块
以冒号作为开始,用缩进来划分作用域
作用域:作用的区域,作用的范围
if 10 == 10: # True 执行
print(1)
print(2)
print(3)
print(4) if 10 == 11: # False 不执行
print(11)
print(22)
print(33)
print(44)
1、代码块的注意点
"""要么全都是一个tab缩进,要么全都是4个空格,不能混合使用"""
if 10 == 10:
print(100)
print(200) # IndentationError # php js .... (了解)
"""
if(10 == 10){
print(1)
print(2)
print(3)
}
"""
注意点
三、流程控制
流程: 代码执行的过程
控制: 对代码执行过程的一种把控
三大结构:
1.顺序结构 : 默认代码依次从上到下执行
2.分支结构 : 4种
3.循环结构 : for while 分支结构:
(1)单项分支
(2)双项分支
(3)多项分支
(4)巢状分支
1、单项分支
语法:
"""
if 条件表达式:
code1
code2
当条件表达式成立,返回True,执行对应的代码块,反之不执行
"""
例:
liucaixia = "女生"
if liucaixia == "女生":
print("给他买一些好吃的")
print("给他买一些好玩的")
print("陪她出去逛街")
print("陪她买化妆品")
2、双向分支
语法:
"""
if 条件表达式:
code1
code2
else:
code3
code4
如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块 if 代码块也叫做真区间
else 代码块也叫做假区间 """
例:
liucaixia = "抠脚老汉"
if liucaixia == "女生":
print("加他微信")
print("加他手机")
print("收集他的兴趣爱好")
print("以后多联系")
else:
print("给你一榔头~")
举例:
按要求写一段代码
"""
name = input("先森,你妈贵姓?~")
print(name , type(name))
""" """
网站登录功能:
提示用户输入对应的用户名和密码
如果用户名admin,密码000
提示用户,登录成功
否则提示,登录失败
"""
username = input("请输入您的用户名:")
password = input("请输入您的密码:")
if username == "admin" and password == "":
print("登录成功~")
else:
print("登录失败~")
四、多项分支
语法:
"""
语法:
if 条件表达式1:
code1
code2
elif 条件表达式2:
code1
code2
elif 条件表达式3:
code1
code2
else:
code... 如果条件表达式1成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式2成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式3成立,返回True,执行对应的代码块,反之则向下执行
直到最后,任何条件都不满足,执行else这个分支的代码块. elif 可以出现0次或者多次
else 可以出现0次或者1次
"""
1、双项分支
youqian = True
# 双项分支
if youqian == True:
print("上午刚认识,下午就结婚")
else:
print("你是个好人")
2、多项分支
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False if youqian == True:
print("我就嫁给你1")
elif youfang == True:
print("我就嫁给你2")
elif youche == True:
print("我就嫁给你3")
elif youyanzhi == True:
print("我就嫁给你4")
elif youtili == True:
print("我就嫁给你5") else:
print("你是个好人")
3、巢状分支(单项分支、双项分支、多项分支的互相嵌套)
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False if youqian == True:
if youfang == True:
if youche == True:
if youyanzhi == True:
if youtili == True:
print("老娘今天死活要嫁给你,等着接盘吧,兄弟")
else:
print("恭喜你~ 成为我的1号备胎")
else:
print("你可以上韩国整整容,整成金城武再来.")
else:
print("出门左拐,乘2路汽车,2站之后下是你家,不送了,老弟.")
巢状分支
五、循环结构
1、while循环
语法:
"""
语法:
while 条件表达式:
code1...
code2... 1.初始化一个变量
2.写上循环的判断条件
3.自增自减的变量值
"""
例:打印1~100
i = 1
while i <= 100:
# 在这个位置写要执行的逻辑
print(i)
i += 1 # i = i + 1
执行过程:
"""
初始化一个变量i
第一次循环
i = 1 , i<=100 成立返回True,执行循环
print(1)
i += 1 => 2 第二次循环
i = 2 , i<=100 成立返回True,执行循环
print(2)
i += 1 => 3 第三次循环
i = 3 , i<=100 成立返回True,执行循环
print(3)
i += 1 => 4
.... 什么时候结束?
当i = 101时候, 判断i <= 100 不成立返回False ,不执行循环
循环结束...
"""
执行过程
例:计算1~100的累加和
方法一、
i = 1
total = 0
while i<=100:
# 把所有的i值全部累加到total这个变量中
total += i # total = total + i
i+=1 print(total)
代码解析:
"""
# 代码解析:
第一次循环
i = 1 i<=100 成立执行循环
total += i => total = total + i => 0 + 1
i+=1 => 2 第二次循环
i = 2 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2
i+=1 => 3 第三次循环
i = 3 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2 + 3
i+=1 => 4 ....
依次循环 什么时候结束?
i = 100
total = 0 + 1 + 2 + 3 + 4 + ...+ 100 = 5050
当i = 101 不满足循环的条件 , 直接跳出,循环结束..
到此打印 5050 ; """
代码解析
方法二:
total = 0
i = 1
sign = True
while sign:
total += i # total = total + i
i+=1 # 手动加上终止循环的条件
if i == 101 :
sign = False
print(total)
六、单项循环的练习
1.打印一行十个小星星 help函数查看帮助文档
# (1).初始化变量
i = 0
# (2).循环判断的条件
while i <10:
# (4).写上自己的代码逻辑
print("*",end="") # 打印小星星
# (3).自增加1
i+=1
2.通过打印变量实现一行十个小星星
# 字符串的拼接
var1 = "我爱你,"
var2 = "这个世界上所有的女生"
res = var1 + var2
print(res)
var1 += var2 # var1 = var1 + var2
print(var1) # 循环10次,拼接了10个星星
i = 0
strvar = ""
while i < 10:
strvar += "*" #strvar = '' + "*" / '*' + '*' / "**" + '*' / "***" + "*" / "*********" + "*"
i+=1 print(strvar)
3.打印一行十个小星星,奇数个为★ , 偶数个位☆
"""
任意数和n取余,范围是多少? 0 ~ (n-1)
n = 2
0 % 2 = 0
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
5 % 2 = 1
0~1 n = 5
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
0~4
扑克牌 4种花色 方片 草花 红桃 黑桃
""" i = 0
while i<10:
# 写上代码的逻辑
if i % 2 == 0:
print("★",end="")
else:
print("☆",end="")
i+=1
4.一个循环打印十行十列的小星星
"""
0123456789
********** 0~9
10111213141516171819
* * * * * * * * * * 10~19
********** 20~29
********** 30~39
********** 40~49
********** 50~59
********** 60~69
********** 70~79
********** 80~89
********** 90~99 怎么能找到 9 19 29 39 49 ... 99 这颗星星呢?
""" i = 0
while i < 100:
# 打印星星
print("*",end="") # 打印换行
if i % 10 == 9:
print()
i+=1
5.一个循环打印十行十列隔列换色的小星星
"""
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
"""
i = 0
while i < 100:
# 打印星星
# print("*",end="")
if i % 2 == 0:
print("★",end="")
else:
print("☆",end="") # 打印换行
if i % 10 == 9:
print()
i+=1
6.一个循环打印十行十列隔行换色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
""" """
任意数和n进行地板除,会出现n个相同的数字
0 // 2 = 0
1 // 2 = 0
2 // 2 = 1
3 // 2 = 1
4 // 2 = 2
5 // 2 = 2 0 // 6 = 0
1 // 6 = 0
2 // 6 = 0
3 // 6 = 0
4 // 6 = 0
5 // 6 = 0 6 // 6 = 1
7 // 6 = 1
8 // 6 = 1
9 // 6 = 1
10 // 6 = 1
11 // 6 = 1 12 // 6 = 2
.... 0 ~ 9 // 10 会出现10个相同的0
10~19 // 10 会出现10个相同的1
20~29 // 10 会出现10个相同的2
... 90~99 // 10 会出现10个相同的9 到此, 地板除的值 范围为: 0 ~ 9 """
print("<======>")
i = 0
while i<100: # 打印星星
if i // 10 % 2 == 0:
print("★",end="")
else:
print("☆",end="") # 打印换行
if i % 10 == 9:
print() i+=1
七、练习
"""
1.提⽰⽤户输入马化腾. 判断⽤户输入的对不对. 如果对, 提⽰真聪明, 如果不对, 提醒该充值了 2.根据身高(height)找对象
男生在1米 ~ 1.5米之间 =>打印小强 你在哪里?
男生在1.5 ~ 1.7米之间 =>打印没有安全感~
男生 1.7 ~ 1.8米之间 =>打印帅哥 留个电话
男生 1.8 ~ 2米之间 =>打印帅哥 你建议多一个女朋友吗 3.猜大小的游戏:
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。 4.输出 1-100 内的所有奇数
5.输出 1-100 内的所有偶数
6.⽤户登陆(有三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
"""
'''
name = input("谁是中国人民当中最能抄的?") if name == "马化腾":
print("真聪明")
else:
print("不充值你怎么可能变得更强")
'''
1
'''
height = float(input("请输入您的升高:"))
# print(height, type(height))
'''
# python 特有:
'''
if 1 <= height <= 1.5:
print("小强在哪里")
elif 1.5 < height <= 1.7:
print("没有安全感")
elif 1.7 < height <= 1.8 :
print("打印帅哥 留个电话")
elif 1.8 < height <= 2:
print("打印帅哥 你建议多一个女朋友吗")
'''
# 通用写法
'''
if 1 <= height and height <= 1.5:
print("小强在哪里")
elif 1.5 < height and height <= 1.7:
print("没有安全感")
elif 1.7 < height and height <= 1.8 :
print("打印帅哥 留个电话")
elif 1.8 < height and height <= 2:
print("打印帅哥 你建议多一个女朋友吗")
else:
print("没有合适的选项")
'''
2
sign = True
while sign:
num = float(input("请输入一个数字:"))
if num == 66:
print("猜对了")
sign = False
elif num > 66 :
print("太大了")
elif num < 66:
print("太小了")
3
# 4.输出 1-100 内的所有奇数
i = 1
while i <= 100:
if i % 2 == 1:
print(i)
i+=1
4
# 5.输出 1-100 内的所有偶数
i = 1
while i <= 100:
if i % 2 == 0:
print(i)
i+=1
5
times = 1
sign = True
while sign:
# 第一步: 输入密码
pwd = input("请输入您的密码") # 判断输入的是不是111
if pwd == "":
# 输入成功的情况1
print("登录成功")
# 终止循环
sign = False
else:
# 输入失败的情况2
# 剩余次数= 总次数 - 已用次数
res = 3 - times
print("输错了,你还剩余%d次" % (res) ) # 如果次数减到0,意味着循环终止
if res == 0:
sign = False # 自增加1
times+=1
6
day5.流程控制及while单项循环的更多相关文章
- Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句
Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- python基础-->流程控制-->分支结构-->单项分支-->双向分支
# ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...
- 黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...
- day_4流程控制之分支结构循环结构及for循环
复习一下昨天的内容 1:变量的命名规范 只能由数字 字母 及下划线组成 不能以数字开头 不能与系统关键字重名 _开头有特殊含义 __开头__结尾的变量是魔法变量 支持大小驼峰 ,但建议使用下划线连接语 ...
- java基础 流程控制和条件语句,循环语句
顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...
- Day04 流程控制 while 和for循环
一.流程控制 if 判断 python中使用缩进来区分代码块的 语法 一: #python if 条件: 代码块1 代码块2 自上而下依次运行 语法二: # python if 条件一: 代码一 el ...
- Fortran流程控制与逻辑运算、循环--xdd
1.IF语句 1 if() then ... end if 2 if() then ... else ... end if 3 if() then ... else if() then ... els ...
- 流程控制: if分支 while循环 for循环
流程控制 Python程序执行,一定按照某种规律在执行 1.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构 2.遇到需要条件判断选择不同执行路线的执行方式:分支结构 3.有些事情 ...
随机推荐
- mac篇---mac安装jupyter
1.Jupyter搭建 pip install --user jupyter 如果是在python3中,则用如下命令: pip3 install --user jupyter 如下图所示: 2. Ju ...
- 从上到下打印二叉树(剑指offer-22)
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目解析 使用队列来进行层次遍历,本质上就是宽搜. 题目解答 import java.util.*; /** public class ...
- Oracle数据库期末总结
目录 基础内容-服务相关 Oracle体系结构: 表空间与数据文件之间的关系: 内存结构(SGA ,PGA) 表空间(大题)(tablespace) 数据文件(大题)(.dbf) 控制文件,记录和维护 ...
- Django的Cookie Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- Spring @Value注解使用${}进行注入(转)
原文:http://my.oschina.net/js99st/blog/632104 spring3中新增的@value注解 http://bijian1013.iteye.com/blog/202 ...
- python 装饰器(八):装饰器实例(五)函数装饰器装饰类以及类方法
函数装饰器装饰类 单例模式 from functools import wraps def singleton(cls): instances = {} @wraps(cls) def get_ins ...
- Python: 如何判断远程服务器上Excel文件是否被人打开
最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件. 开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明 ...
- How to change the text color in the terminal
You can open the file ~/.bashrc and then choose the force_color_prompt=yes otherwise, you can change ...
- day1:注释和变量
1.注释的作用:对代码的解释,方便以后阅读代码 2.常用的快捷键:ctrl+q:notepad++的注释ctrl+/:pycharm的注释ctrl+c:复制ctrl+v:粘贴ctrl+z:撤销ctrl ...
- 【python大牛分享】python——接口自动化测试框架环境的使用
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用 ...