2020.5.5 python 学习

判断类型

语法:
用法一:
isinstance(要判断的值,要判断的类型) 返回的是真或者假
用法二:
isinstance(要判断的值, (可能的类型1,可能的类型2 … ) ) 如果有一个类型满足,返回的是真否则为假
数据类型
int float bool complex str list tuple set dict

# 用法一
res = isinstance(5,int)
res = isinstance("abc" , str)
print(res)

# 用法二
var = "1ab"
res = isinstance(var , (int , str , list))
print(res)

代码块

以冒号作为开始,用缩进来划分相同的作用域,这个整体是一个代码块
作用域:作用的区域

流程控制

流程: 代码执行的过程
控制: 对代码执行过程的一种管控就是流程控制

三大结构
1.顺序结构 : 默认代码从上到下执行
2.分支结构 : 4种
3.循环结构 : for … in while循环

分支结构:
1.单项分支

if 条件表达式:
	code1
	code2

如果条件表达式成立,返回True条件成立,执行对应的代码块,反之不执行
2.双项分支

if 条件表达式:
	code1
	code2 ...
else:
	code3 .. 
	code4 .. 

如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块

if 代码块也叫做真区间
else 代码块也叫做假区间
3.多项分支

	if 条件表达式1:
	code..
	code..
elif 条件表达式2:
	code ...
	code...
elif 条件表达式3:
	code...
else:
	code ..

如果条件表达式1成立,返回True,执行对应的代码块,如果不成立,向下执行
如果条件表达式2成立,返回True,执行对应的代码块,如果不成立,向下执行
如果条件表达式3成立,返回True,执行对应的代码块,如果不成立,向下执行
直到最后,任何条件都不满足,执行else这个分支的代码块

elif 可以出现0次或者多次
else 可以出现0次或者1次
4.巢状分支(单项分支 双项分支 多项分支的互相嵌套)
例如

youqian = False
youfang = True
youche = False
youyanzhi = False
youtili = True


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元,微信转账")

循环结构: while 循环

特征:减少代码冗余,提升代码效率

while 条件表达式:
	code..
	code..

1.初始化一个变量
2.写上循环的判断条件
3.自增自减的变量值

打印1 ~ 100

i = 1
while i<=100:
	# 这个地方写上要执行的逻辑
	print(i)
	i+=1 # i = i + 1
	
"""
初始化一个变量i
第一次循环
i = 1  , i <= 100 条件成立,执行循环
print(i) 1
i+=1 => 2

第二次循环
i = 2 , i <= 100 条件成立,执行循环
print(i) 2
i+=1 => 3

第三次循环
i = 3 , i <= 100 条件成立,执行循环
print(i) 3
i+=1 => 4

....
什么时候结束?
当i = 101时候 判断 i <= 100 条件不成立False,不执行循环
循环结束...

"""

计算1~100的累加和

i = 1
total = 0
while i<=100:
	# 这个地方写上要执行的逻辑
	total += i # total = total + i
	i+=1 # i = i + 1

print(total) # 5050

"""
# 代码解析
第一次循环
i = 1 i<=100 条件成立,执行循环
total += i => total = total + i => total = 0 + 1
i+=1 => i = 2

第二次循环
i = 2 i<=100 条件成立,执行循环
total += i => total = total + i => total = 0 + 1 + 2
i+=1 => i = 3

第三次循环
i = 3 i<=100 条件成立,执行循环
total += i => total = total + i => total = 0 + 1 + 2 + 3
i+=1 => i = 3

....
依次循环

什么时候结束?
total = 0 + 1 + 2 + 3 + .... + 100 = 5050
i+=1 => i = 101    i<=100 这个条件不成立 , 不执行循环体
到此,循环终止

"""

死循环 (条件永远为真)

"""
while True:
	print(1)
"""
print("<======>")
# 方法二
total = 0
i = 1
sign = True
while sign:
	total += i
	i += 1
	
	# 手动加上终止的条件
	if i == 101:
		sign = False
print(total)

单向循环循环练习

1.打印一行十个小星星

i = 0
while i <10:

	# 写上代码逻辑
	print("*",end="")

	i+=1

2.通过打印变量,直接输出一行十个小星星

i = 0
strvar = ""
while i < 10:

	# 逻辑
	strvar += "*" # "*" "**" "***" "****" ... **********

	i+=1
print(strvar)

**字符串拼接 **

strvar1 = "我爱你,"
strvar2 = "美丽的祖国"
res = strvar1 + strvar2
print(res)
res += ",和壮阔的大好河山!" # res = res + ,和壮阔的大好河山!
print(res) 

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

n = 4
0 % 4 = 0
1 % 4 = 1
2 % 4 = 2
3 % 4 = 3
4 % 4 = 0
5 % 4 = 1
6 % 4 = 2
7 % 4 = 3
8 ....
"""

i = 0
while i < 10:
	# 写上代码逻辑
	if i % 2 == 0:
		print("★",end="")
	else:
		print("☆",end="")
	
	i+=1

4.一个循环打印十行十列小星星

"""
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

0123456789
**********
10111213141516171819
* * * * * * * * * *
**********
20~29
**********
30~39
**********
40~49
**********

...
90~99
**********
 9 19 29 39 49 59 .. 99
if i % 10 == 9

"""
i = 0
while i<100:
	# 打印星星
	print("*",end="")
	
	# 打印换行
	if i % 10 == 9:
		print()
	
	i+=1

5.一个循环打印十行十列隔列变色小星星

"""
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
"""

i = 0
while i<100:
	# 打印星星	
	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 // 5 = 0
1 // 5 = 0
2 // 5 = 0
3 // 5 = 0
4 // 5 = 0


5 // 5 = 1
6 // 5 = 1
7 // 5 = 1
8 // 5 = 1
9 // 5 = 1

10 // 5 = 2...
...

0 // 10 = 0
1 // 10 = 0
2 // 10 = 0
3 // 10 = 0
4 // 10 = 0
5 // 10 = 0
6 // 10 = 0
7 // 10 = 0
8 // 10 = 0
9 // 10 = 0


10 // 10 = 1
...
19 // 10 = 1

0 ~ 9    // 10  会出现10个相同的0
10 ~ 19  // 10  会出现10个相同的1
20 ~ 29  // 10  会出现10个相同的2
...
90 ~ 99  // 10  会出现10个相同的9

0 ~ 9 
"""

i = 0
while i < 100:

	# 打印星星 i // 10 范围是0 ~ 9
	if  i // 10 % 2 == 0:
		print("★",end="")
	else:
		print("☆",end="")
		
	# 打印换行
	if i % 10 == 9:
		print()
	i+=1 

你可能感兴趣的:(python学习)