Python基础-逻辑

Python基础-逻辑

一、代码块

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

if 10 == 10:
    print(1)  # 1 注意缩进 tab 4个空格

if 10 != 10:
    print(1)  # 不打印
    
if 10 == 11:
	print(1)
	print(2)
	print(3)
print(4)


缩进:要么全都使用\t tab  要么全都是使用4个空格 来表达相同的作用域,不能混再一起;
"""
if 10 == 10:
	print(1)
    print(2)
"""
	
# 其他语言的写法 (了解)
"""
if(10 == 10){
	print(1)
					print(2)
																								print(3)
}
"""

image-20230902080559309

image-20230902080632284

二、流程控制 if判断

流程控制
流程: 代码执行的过程
控制: 对代码执行过程中的把控

三大结构:
(1)顺序结构: 默认代码从上到下,依次执行
(2)分支结构: 单项分支 双向分支 多项分支 巢状分支
(3)循环结构: while / for

1、单项分支 if单分支

# 单项分支
"""
if 条件表达式:
	code1
	code2
当条件表达式成立,返回True,执行对应的代码块
"""
city = "北京"  
if city == "北京":   # 如果if条件成立,执行下方代码块
	print("故宫","天安门")
	print("颐和园")
	print("长城")
故宫 天安门
颐和园
长城

2、双项分支 if双分支

双向分支 (二选一)
"""
if 条件表达式:
	code1  ..
else:
	code2 ... 
如果条件表达式成立,返回True ,执行if这个区间的代码块
如果条件表达式不成立,返回False,执行else这个区间的代码块
if   分支的代码块也叫做真区间
else 分支的代码块也叫做假区间
"""

city = "北京"
if city == "山东":
	print("故宫","天安门")
	print("颐和园")
	print("长城")
else:
	print("青岛啤酒")
青岛啤酒
	


input 等待用户输入字符串 (注意:结果一定是字符串)
"""
name = input("请输入您的名字")
print(name , type(name))
"""

# 模拟网站登录 
# 如果admin = root  密码:password = 123.com 显示登录成功,否则显示登录失败
# admin = "root"
# password = "123.com"

admin = input("请输入您的用户名")
password = input("请输入您的密码")
if admin == "root" and password == "123.com":
	print("登陆成功")
else:
	print("用户或密码输入错误,请重试")

3、多项分支 if多分支

多项分支 (多选一)
"""
if 条件表达式1:
	code1 
elif 条件表达式2:
	code2
elif 条件表达式3:
	code3
else:
	code4
如果条件表达式1成立,执行对应的分支code1,反之判断条件表达式2是否成立
如果条件表达式2成立,执行对应的分支code2,反之判断条件表达式3是否成立
如果条件表达式3成立,执行对应的分支code3,如果不成立,直接走else分支,到此程序执行完毕

elif 可以是0个 或者 多个
else 可以是0个 或者 一个

"""

ad = False
bc = True
bm = False

if ad == "True":
	print("尊贵的奥迪车主")
elif bc == "True":
	print("尊贵的梅赛德斯奔驰车主")
elif bm == "True":
	print("尊贵的宝马车主")
else:
	print("加油吧,少年")

4、巢状分支 嵌套组合

image-20230902094928597

巢状分支
"""单项分支,双向分支,多项分支的互相嵌套组合"""
ad = True
bc = True
bm = True

if ad == True:
	if bc == True:
		if bm == True:
			print("尊贵的奥迪、宝马和梅赛德斯奔驰车主")
		else:
			print("还差一台宝马")
	else:
		print("尊贵的奥迪和梅赛德斯奔驰车主")
else:
	print("加油吧少年")


出题 height
#女生找对象
	# 男生在1米~1.5米之间 小强 你在哪里?
	# 男生在1.5~1.7米之间 没有安全感~
	# 男生 1.7~ 1.8米之间 帅哥 留个电话
	# 男生 1.8~2米之间 帅哥 你建议多一个女朋友吗

python特有
height = float(input("请输入你的身高:"))  # 需要转换为number类型,要不然是字符串,无法比较
if  100 <= height <= 150:
	print("小强 你在哪里?")
elif 150 < height <= 170:
	print("没有安全感~")
elif 170 < height <= 180:
	print("帅哥 留个电话")
elif 180 < height <= 200:
	print("帅哥 建议多个女朋友吗")
else:
	print("不太合适哈")

通用写法
height = float(input("请输入您的身高:"))
if 100 <= height and height < 150:
	print("小强 你在哪里?")
elif 150 <= height and height < 170:
	print("没有安全感~")
elif 170 <= height and height < 180:
	print("帅哥 留个电话")
elif 180 <= height and height < 200:
	print("你建议多一个女朋友吗")
else:
	print("抱歉,没有合适的选项")

"""
tab 向右缩进
shift + tab 向左缩进
"""

三、循环

一、while循环语法

循环结构
"""特点:减少冗余代码,提升执行效率"""

语法:
while 条件表达式:
	code1

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


打印1 ~ 100
# (1) 初始化一个变量
i = 1
# (2) 写上循环的条件
while i <= 100:

	# (4) 写上循环的逻辑
	print(i)

	# (3) 自增自减的值
	i += 1 # i = i + 1
# 打印1-100
i = 1  # 定义初始值
while i <= 100:  # 设置循环条件
	print(i)
	i = i+1     # 每次循环+1
"""
代码解析:
第一次循环
i = 1  i<=100 判断为真,执行循环体 print(1)
i += 1 i => 2 
第二次循环
代码回到17行,重新进行条件判定 
i = 2  i<=100 判断为真,执行循环体 print(2)
i += 1 i => 3
第三次循环
代码回到17行,重新进行条件判定 
i = 3  i<=100 判断为真,执行循环体 print(3)
i += 1 i => 4

....
以此类推 

直到i = 101  i <= 100 判断为假,不执行循环体,到此循环结束...
1 ~ 100
"""

1 ~ 100的累加和

# (1) 初始化一个变量
i = 1
total = 0

# (2) 写上循环的条件
while i <= 100 :
	# (4) 写上自定义的逻辑
	total += i
	# (3) 自增自减的值
	i += 1
print(total)

# 计算1-100的和
i = 1
j = 0
while i<=100:
	j += i  # 每次循环都是0+i
	i += 1  # i每次循环都+1
print(j)

"""
代码解析:
第一次循环
i = 1 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1
i += 1  => i = 2

第二次循环
i = 2 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2
i += 1  => i = 3

第三次循环
i = 3 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2 + 3 
i += 1  => i = 4

...
依次类推

当i = 101 101 <= 100 判定为假False 不执行循环体,到此,循环结束..

total += i => total + i => 0 + 1 + 2 + 3 + 4 + .... + 100 => 5050

"""


死循环
"""
while True:
	print(1)
"""


用死循环的方法实现 1 ~ 100累加和
i = 1
total = 0
sign = True
while sign:
	total += i
	i+=1
	
	# 判断i是否加到了101 , 不参与循环
	if i == 101:
		# 终止循环
		sign = False
print(total) 
#1 ~ 100 = 5050
	

二、while循环练习

image-20230902121308185

1、单向循环的练习
(1)打印 一行十个小星星* help(print)
# help 查看某个方法的文档
help(print)

print("*",end='')  # 不换行
print("*",end='') 
print("*",end='')
***


i = 0
while i<10:	
	# end='' 打印时,尾部默认不加换行
	print("*",end='')	
	i += 1
**********
# 默认换行

打印 一行十个小星星*
i = 0 
while i < 10:  # 循环条件
	print("*",end='')
	i += 1

(2)通过打印一个变量的形式,展现一行十个小星星
print("<======>")
i = 0
strvar = ""
while i < 10:
	# 写上循环的逻辑
	strvar += "*" # strvar = strvar + "*"
	i +=1
print(strvar)
"""
strvar += "*" => strvar = "*"
strvar += "*" => strvar = "*" + "*"  = "**"
strvar += "*" => strvar = "**" + "*" = "***"
...
strvar += "*" => strvar = "********" + "*" = "*********"
"""

(3)一行十个换色的星星 ★☆★☆★☆★☆★☆
方法一
i = 0
while i < 5:
	print("★☆",end="")
	i+=1

方法二
i = 0
while i < 10:
	if i % 2 == 0 :
		print("★",end="")
	else:
		print("☆",end="")
	i+=1

print("<=============>")

方法三
i = 0
strvar = ""
while i < 10:
	if i % 2 == 0 :
		strvar += "★"
	else:
		strvar += "☆"
	i+=1
print(strvar)
"""
***公式: 任意数 和 n 进行取余,余数的范围: 0 ~ (n-1)***
0 % 2 = 0
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
被除数 % 2 => 0 或者 1

0 % 5 = 0 
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0 
6 % 5 = 1
7 % 5 = 2
被除数 % 5 => 0 或者 1,2,3,4
"""

(4)用一个循环,打印十行十列小星星
"""
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
"""

方法一
i = 0 
while i < 100:
	
	# 逻辑写在这里
	print("*" , end="")
	# 打印换行 (在9 19 29 .. 99 )
	if i % 10 == 9:
		print()
	i += 1 


"""
0123456789
**********
10111213141516171819
**********
20212223242526272829
**********

...
90919293949596979899
**********
9 19 29 39 49 59 69 79 89 99
9 % 10  = 9
19 % 10 = 9
29 % 10 = 9
...
99 % 10 = 9

"""


print("<======>")

方法二
i = 1
while i <= 100:
	
	# 逻辑写在这里
	print("*" , end="")
	# 打印换行 (在9 19 29 .. 99 )
	if i % 10 == 0:
		print()
	i += 1 
"""
12345678910
**********
11121314151617181920
**********
21222324252627282930
**********

...
919293949596979899100
**********
10 20 30 ... 100
"""

(5) 一个循环实现十行十列,格列换色的小星星
"""
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
"""

i = 0 
while i < 100:
	
	# (1)打印星星
	if i % 2 == 0 :
		print("★",end="")
	else:
		print("☆",end="")
	
	# (2)打印换行 (在9 19 29 .. 99 )
	if i % 10 == 9:
		print()
	
	i += 1 

(6)一个循环实现十行十列,隔行换色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆

*** 公式:任意数和n进行地板除,会出现n个相同的数
0 // 10 = 0
1 // 10 = 0
2 // 10 = 0
..
9 // 10 = 0
0 ~ 9 // 10 => 0 (10个相同的0)

10 // 10 = 1
11 // 10 = 1
12 // 10 = 1
...
19 // 10 = 1
10 ~ 19 // 10 => 1 (10个相同的1)

.... 以此类推
20 ~ 29 // 10 => 2 (10个相同的2)
30 ~ 39 // 10 => 3 (10个相同的3)
40 ~ 49 // 10 => 4 (10个相同的4)
...
90 ~ 99 // 10 => 9 (10个相同的9)

0~ 100 会出现10个相同的0,1,2 , 3 ... 9 

0 // 3 0
1 // 3 0
2 // 3 0
3 // 3 1
4 // 3 1
5 // 3 1 
"""

""""""

方法一
i = 0 
while i < 100:
	
	# (1)打印星星
	if i // 10 % 2 == 0:
		print("★",end="")
	else:
		print("☆",end="")

	# (2)打印换行 (在9 19 29 .. 99 )
	if i % 10 == 9:
		print()
	
	i += 1 

方法二
print("<=================>")
i = 10
while i < 110:
	# 打印星星 
	num = int(str(i)[-2])
	if num % 2 == 0 :
		print("★",end="")
	else:
		print("☆",end="")
	# 打印换行
	if i % 10 == 9:
		print()
	i+=1

"""
10 ~ 100 101 102 103 110...

10 ~ 19 => 1
20 ~ 29 => 2
30 ~ 39 => 3
90 ~ 99 => 9
100 ~ 109 => 0
"""

2、双向循环的练习
双向循环的专题练习

1.用两个循环完成十行十列的小星星
j = 0 
while j < 10:

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

	j += 1

2.用两个循环完成十行十列隔列换色的小星星
"""
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
"""

i = 0
while i < 10:
	# 打印一行黑白相间的星星
	j = 0
	while j < 10:
		if j % 2 == 0:
			print("☆",end="")
		else:
			print("★",end="")
		j +=1

	# 打印换行
	print()	
	i+=1

3.用两个循环完成十行十列隔行换色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
"""
"""
外层的循环i动的慢
内层的循环j动的快
外层的i动一次, 内层的循环动10次

"""
i = 0
while i < 10 :
	j = 0
	while j < 10:
		if i % 2 == 0:
			print("☆",end="")
		else:
			print("★",end="")
			
		j +=1
	print()
	i +=1

4.99乘法表
方向一
i = 1
while i <= 9:
	
	# 打印对应的表达式
	j = 1
	while j <= i:
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
		j+=1
	
	# 打印换行
	print()
	
	i +=1



方向二
i = 9
while i >= 1:

	# 打印对应的表达式
	j = 1
	while j <= i:
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
		j+=1
	
	# 打印换行
	print()

	i -= 1
print("<====================>")

方向三
i = 1
while i <= 9 :
	kongge = 9 - i
	# 打印空格
	while kongge > 0:
		print("       ",end="")
		kongge -= 1  

	# 打印表达式
	j = 1
	while j <= i:
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
		j+=1
	
	# 换行
	print()
	i +=1

print("<===============>")

方向四
i = 9
while i >= 1 :
	kongge = 9 - i
	# 打印空格
	while kongge > 0:
		print("       ",end="")
		kongge -= 1  

	# 打印表达式
	j = 1
	while j <= i:
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
		j+=1
	
	# 打印换行
	print()
	i -=1

# 求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 ... 
"""
// 可以获取一个数高位
%  可以获取一个数低位
baiwei = 345 // 100
shiwei = 345 // 10 % 10
gewei  = 345 % 10
print(gewei)
"""

# 方法一
i = 100
while i <= 999:
	baiwei = i // 100
	shiwei = i // 10 % 10
	gewei = i % 10

	if shiwei == gewei  and shiwei == baiwei :
		print(i)
	# 123
	elif shiwei == gewei - 1 and shiwei == baiwei + 1:
		print(i)
	# 987
	elif shiwei == gewei + 1 and shiwei == baiwei - 1:
		print(i)
	i +=1

# 方法二
print("<====>")
i = 100
while i <= 999:
	strvar = str(i)
	# print(strvar, type(strvar))
	gewei = int(strvar[-1])
	shiwei = int(strvar[1])
	baiwei = int(strvar[0])
	if shiwei == gewei  and shiwei == baiwei :
		print(i)
	# 123
	elif shiwei == gewei - 1 and shiwei == baiwei + 1:
		print(i)
	# 987
	elif shiwei == gewei + 1 and shiwei == baiwei - 1:
		print(i)
	
	i +=1

# 方法三
print("<====>")
i = 100
while i <= 999:
	strvar = str(i)
	# print(strvar, type(strvar))
	gewei = int(strvar[-1])
	shiwei = int(strvar[1])
	baiwei = int(strvar[0])

	if 2 * shiwei == gewei + baiwei and (shiwei == gewei + 1 or shiwei == gewei -1 ):
		print(i)
	elif gewei == shiwei and shiwei == baiwei:
		print(i)
	
	i +=1

# 百钱买百鸡
# 公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
"""
穷举法:把数据拿出来一个一个试
x = [1,2]
y = [3,4]
z = [5,6]
x+y+z = 10
1 + 3 + 5 = 9
1 + 3 + 6 = 10 bingo
1 + 4 + 5 = 10 bingo
1 + 4 + 6 = 11
2 + 3 + 5 = 10 bingo
2 + 3 + 6 = 11
2 + 4 + 5 = 11
2 + 4 + 6 = 12
"""

"""
公鸡 : x  母鸡 : y  小鸡: z
鸡的数量:x + y + z = 100
鸡的价格:5 * x + 3 * y + 1/3*z = 100   
"""

x = 0
while x <= 20:
	
	y = 0
	while y <= 33:
		
		z = 0
		while z <= 100:
			
			if x+y+z == 100 and 5*x + 3 * y + 1/3*z == 100 :
				print(x,y,z)
			z += 1	
		
		y +=1
	
	x += 1

三、循环的关键字

1、pass
pass(代码块中的占位符)

if 20 == 20:
	pass
	
while True:
	pass
2、break
break 终止当前循环 (只能用在循环之中)
# 1 ~ 10 遇到5终止循环
i = 1
while i <= 10:
	print(i)
	if i == 7: # 如果i等于7,结束当前循环
		break
	i += 1
	
	
i = 1
while i <= 3:
	
	j = 1
	while j <=3:
		if j == 2:
			break  # 终止当前循环,并不是外部循环
		print(i,j)
		j+=1

	i +=1
# 1 1
# 2 1 
# 3 1
"""
if 5 == 5: error
	break
"""
3、continue
continue 跳过当前循环,从下一次循环开始
# 打印 1 ~ 10 跳过5
i = 1
while i <= 10:	
	if i == 5:
		# 在跳过之前,因为会终止执行后面的代码,从下一次循环开始
		# 为了避免死循环,手动加1
		i += 1
		continue
	print(i)
	i +=1
1
2
3
4
6
7
8
9
10
    
# 1 ~ 100 打印所有不含有4的数字
# 方法一
print("<============>")
i = 1
while i <= 100:
	strvar = str(i)
	# print(strvar)
	if "4" in strvar:
		i += 1
		continue
	print(i)
	i +=1
	
	
# 方法二
print("<============>")
i = 1
while i <= 100:
	if i // 10 == 4 or i % 10 == 4:
		i+=1
		continue
	print(i)
	i+=1


四、for循环

while 一般用于处理复杂的逻辑关系
for 一般用于迭代数据
部分情况下两个循环可以互相转换;

for循环
遍历 循环 迭代 , 把容器中的元素一个一个获取出来

while循环在遍历数据时的局限性
"""
lst = [1,2,3,4,5]  # ok
i = 0
while i < len(lst):
	print(lst[i])
	i+=1
	
setvar = {"a","b","c"} # not ok
i = 0
while i < len(setvar):
	print(setvar[i])
	i+=1
"""


for循环的基本语法

Iterable 可迭代性数据:1.容器类型数据 2.range对象 3.迭代器

for 变量 in Iterable:
	code1.

    
# 字符串
container = "北京和深圳温差大概20多度"
# 列表
container = [1,2,3,4,4,5]
# 元组
container = ("宇智波鼬","大蛇丸","迪达拉")
# 集合 
container = {"关羽","张飞","赵云","马超","黄忠"}
# 字典
container = {"name":"漩涡鸣人","class":"一班","teacher":"自来也","id":"壹","jn":"螺旋丸"}

# 遍历数据
for i in container:
	print(i)
name
class
teacher
id
jn

1.遍历不等长多级容器
container = [1,2,3,4,("你好","234",{"漩涡鸣人","自来也","螺旋丸"})]
for i in container:
	# 判断当前元素是否是容器,如果是,进行二次遍历,如果不是,直接打印
	if isinstance(i,tuple):
		# ("你好","234",{"漩涡鸣人","自来也","螺旋丸"})
		for j in i:
			# 判断当前元素是否是集合,如果是,进行三次遍历,如果不是,直接打印
			if isinstance(j,set):
				# j = {"漩涡鸣人","自来也","螺旋丸"}
				for k in j :
					print(k)
			else:
				print(j)
				
	# 打印数据
	else:
		print(i)

2.遍历不等长多级容器
container = [("关羽","张飞","赵云"), ("李白","杜甫"),("秦始皇",)]
for i in container:
	for j in i:
		print(j)
关羽
张飞
赵云
李白
杜甫
秦始皇


3.遍历等长的容器
container = [("关羽","张飞","赵云") , ["苏洵","苏轼","苏辙"],{"韩愈","柳宗元","王安石"}]
for a,b,c in container:
	print(a,b,c)
    
关羽 张飞 赵云
苏洵 苏轼 苏辙
柳宗元 王安石 韩愈

变量的解包
a,b,c = "poi"
a,b = (1,2)
a,b = 1,2
a,b,c = [10,11,12]
a,b = {"林明辉","家率先"}
a,b = {"lmh":"林明辉","jsx":"家率先"}
a,b,c = ("马云","小马哥","马春配")
print(a,b,c)

range对象
"""
range([开始值,]结束值[,步长])
取头舍尾,结束值本身获取不到,获取到它之前的那一个数据
"""

range(一个值)   5是结束值
for i in range(5): # 0 ~ 4
	print(i)
0
1
2
3
4

range(二个值) 3是开始值,8是结束值
for i in range(3,8): # 3 4 5 6 7 
	print(i)
3
4
5
6
7

range(三个值) 正向的从左到右  1是开始值,11是结束值,步长为3,每次+3
for i in range(1,11,3): # 1 4 7 10 
	print(i)
1
4
7
10


range(三个值) 逆向的从右到左 10是开始值,0是结束值,步长是-1,每次-1
for i in range(10,0,-1): # 10 9 8 7 ... 1 
	print(i)
10
9
8
7
6
5
4
3
2
1

注意:
   从左到右,步长为正;
   从右到左,步长为负

总结:
"""
while 一般用于处理复杂的逻辑关系
for   一般用于迭代数据
部分情况下两个循环可以互相转换;
"""

i = 1
while i <= 9:
	j = 1
	while j <= i:
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
		j+=1
	print()	
	i +=1

for i in range(1,10):
	for j in range(1,i+1):
		print("%d*%d=%2d " % (i,j,i*j) ,end="" )
	print()

打印 1 ~ 10 跳过5
i = 1
while i <= 10:	
	if i == 5:
		i += 1
		continue
	print(i)
	i +=1
	
for i in range(1,11):
	if i == 5:
		continue
	print(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值