三,python控制语句 (条件分支与循环结构)

  • 学习:知识的初次邂逅
  • 复习:知识的温故知新
  • 练习:知识的实践应用

目录

一,本章知识简介

二,控制语句与逻辑思维

1,顺序语句

2,选择语句

3,循环语句

三,if 选择语句

1,单分支选择语句

2,双分支选择结构

3,三元运算符

4,多分支选择结构

5,选择结构嵌套使用

四,循环结构

1,while循环

2,for循环:

3,可迭代对象

4,range对象

5,死循环

6,嵌套循环和综合练习

7,break语句

8,continue语句

9,else语句

10,循环代码优化

11,使用zip()并行迭代多个序列

案例

1,猜拳游戏案例

2, 用列表和字典存储下表信息,并打印出工资高于1500的数据


一,本章知识简介

主线A:控制语句与逻辑思维

主线B:选择结构  if

主线C:循环结构 while for

前文回顾:

pyhthon学习路线:

  • pyhton的概述
  • pyhton环境安装;
  • 注释
  • 标识符
  • 关键字
  • 变量
  • 数据类型
  • 输入
  • 输出
  • 运算符

二,PyCharm软件的使用,Python运算符,变量的介绍与运用,以及本章综合测试-CSDN博客

一,邂逅Python,搭建python环境,基础语法介绍:python注释,关键字,标识符,变量,数据类型,print()输出,input()输入,数据类型转换等-CSDN博客

二,控制语句与逻辑思维

控制语句:把语句组合成能完成一定功能的小逻辑模块。
分为三类:顺序、选择和循环。
学会控制语句,是真正跨入编程界的 门槛 ,是成为 程序猿 的 '门票'

顺序结构代表 “先执行a,再执行b” 的逻辑。

比如,先找个女朋友,再给女朋友打电话;订婚,再结婚;

条件判断结构代表 “如果…,则…” 的逻辑。

如果看到 红灯,则停车;如果看到绿灯 则执行

循环结构代表 “如果…,则重复执行…” 的逻辑。

比如,如果没打通女朋友电话,则再继续打一次; 如果没找到喜欢的人,则再继续找

   很神奇的是,三种流程控制语句就能表示所有的事情!

    实际上,任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量、选择语句、循环语句”组成。

 

1,顺序语句

顺序语句指的是:让代码按照顺序从上往下、一行一行的执行代码

2,选择语句

  分支语句指的是:程序在遇到不同条件时,要做判断处理。例如当条件成立,则执行代码A;当条件不成立,则执行代码B。

选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构 有多种形式,分为:单分支、双分支、多分支。

3,循环语句

循环语句指的是:反复多次执行地执行某操作。另外的,也可以设定终止循环的关键字。

==总结:==

(1)在实际开发中,通常是将顺序语句、分支语句、循环语句混合使用

三,if 选择语句

选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。

1,单分支选择语句

语法如下:

if  条件表达式:

     语句/语句块

1 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
2 语句 / 语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致
输入一个数字,小于 10 ,则打印这个数字

条件表达式详解:

     在选择和循环结构中,条件表达式的值为 False 的情况如下:

False00.0、空值None、空序列对象(空列表、空元祖、 空集合、空字典、空字符

串)、空range对象、空迭代对象。 其他情况,均为 True

这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

说明:

(1)条件的结果总是布尔型的;

(2)注意:if语句后记得使用Tab进行强制缩进。

一起来完成:

(1)定义一个变量,用于从键盘上获取自己的年龄;

(2)当年龄大于等于18岁时,就输出:xx已成年,可以去网咖了;

(3)思考:if语句的执行顺序是怎样的呢?

# 1.定义变量
age = int(input("请输入年龄:"))
# 2.判断并输出
if age >= 18:  # True
    print("我已成年, 可以去网咖了...")

# 扩展1: 执行顺序
# age = int(input("请输入年龄:"))
# print("11111111111")
# if age >= 18:
#     print("我已成年, 可以去网咖了...")
#     print("2222222222222222222")
# print("333333333333333")

# 扩展2: 缩进技巧
# age = int(input("请输入年龄:"))
# # if age >= 18:   # 1
# # if age >= 18:
# #     print("0000000000000000000")
# # if age >= 18:   # 2
# if age >= 18:
#     print("000000000000000000")
#     pass  # 占据位置

==总结:==

(1)if语句的条件结果是布尔型的结果:(True)或False;

(2)当if语句后暂时不写代码时,可以加上pass关键字占据空位置。

if 3:    #整数作为条件表达式
    print("ok")
a = []   #列表作为条件表达式,由于为空列表,是
False
if a:
    print("空列表,False")
s = "False"    #非空字符串,是True
if s:
    print("非空字符串,是True")
c = 9
11 if 3<c<20:
12    print("3<c<20")
13 if 3<c  and  c<20:
14    print("3<c and c<20")
15
16 if True:        #布尔值
17    print("True")
⚠️ 条件表达式中,不能有赋值操作符 =
Python 中,条件表达式不能出现赋值操作符 = ,避免了其他
语言中经常误将关系运算符 == 写作赋值运算符 = 带来的困扰。
如下代码将会报语法错误:
if 3 < c and (c=20):   #直接报语法错误!
    print("赋值符不能出现在条件表达式中")

2,双分支选择结构

 双分支结构的语法格式如下:

if 条件表达式 :
语句 1/ 语句块 1
else:
语句 2/ 语句块 2

if 条件:
    满足条件时,要做的事情1
    满足条件时,要做的事情2
    满足条件时,要做的事情3
    ...(省略)...
else:
    不满足条件时,要做的事情1
    不满足条件时,要做的事情2
    不满足条件时,要做的事情3
    ...(省略)...

  (0) 输入一个数字,小于10,则打印该数字;大于10,则打印“数字太大

(1)当年龄达到18周岁后,允许进入网咖玩游戏;

(2)当未达到18周岁时,就禁止进入网吧,观察效果;

(3)思考:if-else语句的执行顺序是怎样的呢

a=int(input('请输入数字:'))
if a>10:
    print(a)
else:
    print('数字太大')

#---------------
age=int(input('请输入年龄:'))
if age>=18:
    print('成年,可以进入网吧')
else:
    print('未成年,不能进入网吧')

易错点:  如果input 没有用int包括的话

==总结:==

(1)当条件满足时,则会执行if语句后的代码,若条件不满足,则执行else后的代码;

(2)注意:else关键字不允许单独使用,这句话正确吗?==A、正确==

3,三元运算符

Python的三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:

条件为真时的值 if ( 条件表达式 ) else 条件为假时的值
上个案例代码,可以用三元条件运算符实现:
a=int(input('请输入数字:'))
if a>10:
    print(a)
else:
    print('数字太大')
#三目运算符
print('大于10' if a>10 else '小于10')

#---------------
age=int(input('请输入年龄:'))
if age>=18:
    print('成年,可以进入网吧')
else:
    print('未成年,不能进入网吧')
#三目运算符
print('成年,可以进入网吧' if age>=18 else '未成年,不能进入网吧')
可以看到,这种写法更加简洁,易读。

4,多分支选择结构

多分支选择结构的语法格式如下:
if 条件表达式1 :
 语句1/语句块1
elif 条件表达式2:
 语句2/语句块2
...
elif 条件表达式n :
 语句n/语句块n
[else:
 语句n+1/语句块n+1
]
注:计算机行业,描述语法格式时,使用中括号 [ ] 通常表示可选,非必选。
⚠️ 多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序
练习:
1,输入一个学生的成绩,将其转化成简单描述:不及格 ( 小于 60)、及格 (60-79) 、良好 (80-89) 、优秀 (90-100)
a=int(input('请输入成绩:'))
if a<60:
    print('不及格')
elif a>=60 and a<79:
    print('及格')
elif a>=80 and a<89:
    print('良好')
elif a>=90 and a<100:
    print('优秀')
else:
    print('成绩从0到100,请输入正确成绩')
# 1.键盘输入分数
score = float(input("请输入成绩值:"))
# 2.判断大小、输出
# if 90 <= score and score <= 100:
#     # 3.先写完整数据,再替换值
#     print(f"您的成绩为:{score}, 优秀.")
# elif 70 <= score and score < 90:
#     print(f"您的成绩为:{score}, 良好.")
# elif 60 <= score and score < 70:
#     print(f"您的成绩为:{score}, 及格.")
# elif 0 <= score and score < 60:
#     print(f"您的成绩为:{score}, 不及格.")

# 4.有其他方式?
if 90 <= score <= 100:  # 只能在python中使用
    # 3.先写完整数据,再替换值
    print(f"您的成绩为:{score}, 优秀.")
elif 70 <= score < 90:
    print(f"您的成绩为:{score}, 良好.")
elif 60 <= score < 70:
    print(f"您的成绩为:{score}, 及格.")
elif 0 <= score < 60:
    print(f"您的成绩为:{score}, 不及格.")
# else

==总结:==

(1)当判断多个条件时,可以使用elif关键字来处理;

(2)注意:elif关键字不允许单独使用,这句话正确吗?==A、正确==

5,选择结构嵌套使用

选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。
输入一个分数。分数在 0-100 之间。 90 以上是 A,80 以上是B, 70 以上是 C 60 以上是 D 60 以下是 E
fenshu=int(input('请输入分数:'))
if fenshu>=0 and fenshu<=100:
    if fenshu>=90:
        print('优秀')
    elif fenshu>=80 and fenshu<90:
        print('良好')
    elif fenshu>=60 and fenshu<80:
        print('及格')
    else:
        print('不及格')
else:
    print('请输入正确分数')

例如,一起来完成:

(1)坐高铁时,需要先查看旅客是否有车票;

(2)若没车票,则直接不让进站;

(3)当有车票后,才能进行安检;

(4)若携带管制刀具,不超过10cm时,则安检通过后即可去乘车,否则不让乘车;

(5)使用if嵌套形式来解决问题。

# 1.定义变量
# tickets = 0
tickets = 1
knife_length = 25   # 当变量没被使用时,颜色应该是灰色
# 2.外层if判断
if tickets > 0:
    print("111111--可以进站了...")
    # 3.内层判断
    if knife_length >= 10:
        print("NNNNNNNN--管制刀具太长,无法通过安检!!")
    else:
        print("YYYYYYYYYY--可以进站乘车!!!")
else:
    print("00000--没有车票,无法进站!!")

四,循环结构

循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为True ,如果为 True 则重复执行循环体里的语句。图示 如下:

     循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成一个死循环。

1,while循环

语法:

while 条件表达式:
        循环体语句
利用 while 循环打印从 0-10 的数字
n=0
while n<=10:
    print(n,end=' ')  #单行输出   0 1 2 3 4 5 6 7 8 9 10 
    n+=1
利用 while 循环,计算 1-100 之间数字的累加和;计算 1-100之间偶数的累加和,计算 1-100 之间奇数的累加和
n=1
s=0
s1=0
s2=0
while n<=100:
    s =s+n  # 求和
    if n %2==0:  # 偶数
        s1=s1+n
    else:
        s2=s2+n  # 奇数
    n =n+1  # n+=1
print('1到100之间和',s)  #1到100之间和 5050
print('1到100之间偶数和',s1)  #1到100之间偶数和 2550
print('1到100之间奇数和',s2) #1到100之间奇数和 2500

在生活中做事没让媳妇儿满意,跟她承认错误,说10遍:媳妇儿,我错了;

n=0
while n<=10:
    print('媳妇我错了',end=' ')
    n +=1

练习: 逢七就过游戏 范围 1~999

n=1
# s=''
# s1=''
while n<=999:
    if n %7 ==0 or  ('7' in  str(n)):
        # s1=s1+str(n)
        print(n,'是7的倍数或者包含7')
    else:
        # s=s+str(n)
        print(n)
    n +=1
# print(s)

2,for循环:

for 循环通常用于可迭代对象的遍历。 for 循环的语法格式如下
for   变量   in   可迭代对象:
循环体语句
for  x  in (20,30,40):
   print(x*3)

3,可迭代对象

Python包含以下几种可迭代对象:
1 序列。包含:字符串、列表、元组、字典、集合
2 迭代器对象(iterator)
3 生成器函数(generator)
4 文件对象
遍历字符串中的字符
for x  in  "sxt001":
    print(x)
遍历字典
d = {'name':'gaoqi','age':18,'address':'西三
旗001号楼'}
for x  in  d:  #遍历字典所有的key
    print(x)
for x   in  d.keys():#遍历字典所有的key
    print(x)
for x   in  d.values():#遍历字典所有的value
    print(x)
for x   in  d.items():#遍历字典所有的"键值对"
    print(x)

4,range对象

range对象 是一个迭代器对象,用来产生指定范围的数字序列。格式为:

range ( start , end [, step ])

      生成的数值序列从 start 开始到 end 结束(⚠️不包含 end )。若没有填写 start ,则默认从0开始。 step 是可选的步长,默认为1。如下是几种

典型示例:

for i in range(10) 产生序列: 0 1 2 3 4 5 6 7 8 9
for i in range(3,10) 产生序列: 3 4 5 6 7 8 9
for i in range(3,10,2) 产生序列: 3 5 7 9

利用for循环,计算1-100之间数字的累加和;计算1-100之间偶数的累加和,计算1-100之间奇数的累加和。

s=0
s1=0
s2=0
for i in range(1,101):
    s=s+i  # 求和
    if i %2==0:  # 偶数
        s1=s1+i
    else:  # 奇数
        s2=s2+i
print(s) #5050
print(s1)  #2550
print(s2)  #2500

例如,一起来完成:

(1)使用for循环格式来编写程序;

(2)输出0 ~ 4之间的数字,可使用range();

(3)循环输出itheima中的单个字符,且当正常执行结束后,输出:已循环结束;

(4)执行程序,观察效果。

# 1.0-4
# for temp in range(0,5):
for temp in range(5):
    print(temp)
# 2.itheima
# for temp in "itheima":
#     print(temp)
# 3.else
# for temp in "itheima":
#     print(temp)
# else:  # 原则: for语句中能正常执行完所有才会执行else   break
#     print("已循环执行结束.")

# *4.数字不是序列
# for temp in 100:  # 唯一??  哈希/散列
#     pass
# iterator
# iterable   # 扩展: 迭代、循环、遍历  ====>循环

=总结:==

(1)for与while循环功能类似,且都能完成反复多次执行的效果;

(2)注意:for可以配合else关键字一起使用,这句话正确吗?==A、正确=

5,死循环

死循环,也称为无限循环,指的是程序代码一直执行,不会停止。

产生死循环的情况有

(1)缺少了:改变循环条件的语句;
(2)误写了:循环条件;
(3)标准的死循环格式。

接下来,先来看看标准的死循环格式。

while True:
    代码1
    代码2
    ...

例如,一起来完成:

(1)当缺少了:改变循环条件的语句,完成一个死循环案例;

(2)当误写了:循环条件,完成一个死循环案例;

(3)使用标准的死循环格式完成一个死循环案例;

(4)执行程序,观察效果。

# 缺少语句
# i = 0
# while i <= 10:  # True
#     print("hello , python")

# 误写条件
# i = 0
# while i > -10:  # True
#     print("hello , FangGe")
#     i += 1

# 标准
while True:
    print("hello , itheima...")

==总结:==

(1)若要在程序里完成死循环的效果,建议直接写成(==while True==)  或者while 1

6,嵌套循环和综合练习

一个循环体内可以嵌入另一个循环,一般称为嵌套循环,或者多重循环”

打印如下图案

for i in range(5):
    for j in range(5):
        print(i,end='\t')
    print()

print('*'*30)

n=1
while n<5:
    j = 1
    while j<=5:
        print(n,end='\t')
        j += 1
    print()

利用嵌套循环打印九九乘法表

# for x in range(10):
#     # print(x,end='')
#     for y in range(1,x+1):
#         print(f'{x}*{y}={x*y}',end='\t')
#     print('')
# #另外一种解答方法
# x=0
# while x<9:
#     y=1
#     x=x+1
#     while y<=x:
#         print(f'{y}*{x}={x*y}',end='\t')
#         y=y+1
#     print('')

#第三种解答方案
# for x in range(10):
#     y=1
#     while y<=x:
#         print(f'{x}*{y}={x*y}',end='\t')
#         y=y+1
#     print()
#第四中解答
# y=0
# while y<9:
#     y=y+1
#     for x in range(1,y+1):
#         print(f'{x}*{y}={x * y}', end='\t')
#     print()
用列表和字典存储下表信息,并打印出表中工资高于 15000 的数据
r1= dict(name="一",age=18,salary=30000,city="北京")
r2= dict(name="二",age=19,salary=20000,city="上海")
r3= dict(name="三",age=20,salary=10000,city="深圳")
tb = [r1,r2,r3]
for x in tb:
   if x.get("salary")>15000:
       print(x)

7,break语句

break语句主要是用于终止某个循环语句块的执行。

break语法:

循环语句块
    ……
    break
其他语句

说明:

break会终止循环的执行。

例如,一起来完成:

(1)一次长跑比赛中,体育老师说:本次长跑总共跑50圈,如果有同学跑到第10圈时,感到身体不适,就直接退出比赛;

(2)使用while循环和break模拟长跑效果。

# 1.循环
i = 1
while i <= 50:
    print(f"正在跑第{i}圈...")
    # 2.判断
    if i == 10:
        print("身体不适,直接退出比赛...")
        # 3.退出
        break   # break: 终止   跳过当前循环的整个循环
    i += 1

==总结:==

(1)对于程序里的break,可以简单的理解为()的意思;==A、终止==

(2)注意:break语句用于跳出当前的整个循环。

8,continue语句

continue语句不常使用,表示用于跳过某个循环语句块的一次执行,然后继续执行下一轮的循环。

continue语法:

循环语句块
    ……
    continue
其他语句

说明:

continue会中断循环的一次执行。

例如,一起来完成:

(1)请在输出itheima的单个元素时,如遇字母e,直接跳过且不输出;[后字母]

(2)使用for循环和continue模拟跳过输出的效果。

# 1.定义变量、for语句
strs = "itheima"
for temp in strs:
    print("-----------------------")
    # 2.判断
    if temp == "e":
        # 3.跳过一次执行, 并进入下一次循环
        continue
    print(temp)

==总结:==

(1)continue语句很少使用,表示的是跳过当前循环的一次循环,然后会继续下一轮的循环执行;

(2)注意:break和continue语句只能应用在循环语句中,这句话正确吗?==A、正确==

要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资
empNum = 1
salarySum = 0
salarys = []
while True:
    s = str(input("请输入员工的薪资(按Q或q结束)"))
    if s.upper() == 'Q':
        print("录入结束")
        break
    if float(s) <= 0:
        print("无效!继续录入!")
        continue
    print("录入成功!")
    empNum += 1
    salarys.append(float(s))
    salarySum += float(s)

print("员工数{0}".format(empNum))
print("录入薪资:", salarys)
print("总发薪资:", salarySum)
print("平均薪资{0}".format(salarySum / empNum))

9,else语句

while for 循环可以附带一个 else 语句(可选)。如果 for while 语 句没有被break 语句结束,则会执行 else 子句,否则不执行。语法格 式如下:
while   条件表达式:
          循环体
else :
        语句块
或者:
for   变量   in   可迭代对象:
          循环体
else :
          语句块
员工一共 4 人。录入这 4 位员工的薪资。全部录入后,打印 提示“ 您已经全部录入 4 名员工的薪资 。最后,打印输出录入的薪资
和平均薪资
salarySum= 0
salarys = []
for i in range(4):
    s = input("请输入一共4名员工的薪资(按Q或q中途 结束) ")

    if s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    salarys.append(float(s))
    salarySum += float(s)


else:
    print("您已经全部录入4名员工的薪资")
    print("录入薪资: ",salarys)
    print("平均薪资{0}".format(salarySum/4))

10,循环代码优化

虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上 “斤斤计较 。编写循环时,遵守下面三个原则可以大大提高运行效 率,避免不必要的低效计算:
1 尽量减少循环内部不必要的计算
2 嵌套循环中,尽量减少内层循环的计算,尽可能向外提
3 局部变量查询较快,尽量使用局部变量
#循环代码优化测试
import time
start = time.time()
for i in range(1000):
    result = []
    for m in range(10000):
        c = i * 1000            #提到外部循环
        #result = result + [m * 100] #不使用拼
接,会产生大量新对象
        result.append(c+m*100)
end = time.time()
print("耗时:{0}".format((end-start)))
print("简单循环优化后...")
start2 = time.time()
for i in range(1000):
    result = []
    c = i*1000
    for m in range(10000):
        result.append(c+m*100)
end2 = time.time()
print("耗时:{0}".format((end2-start2)))
1 连接多个字符串,使用join()而不使用+
2 列表进行元素插入和删除,尽量在列表尾部操作

11,使用zip()并行迭代多个序列

我们可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完时就会停止

names = ("姓名B","姓名B","姓名B","姓名B")
ages = (18,16,20,25)
jobs = ("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
    print("{0}--{1}--{2}".format(name,age,job))
#不用zip,也可以并行迭代多个序列
for i inrange(min(len(names),len(ages),len(jobs))):
    print("{0}--{1}--{2}".format(names[i],ages[i],jobs[i]))

案例

1,猜拳游戏案例

要完成猜拳游戏程序的编写,优先需要知道怎么生成随机数。

注意:在Python中,要获取随机数值,可以使用生成随机数的random模块:

# 导入模块
import random

random模生成随机数的函数:

函数名含义
randint(a, b)生成随机数,用于返回[a, b]之间的整数,并能取值a和b。

说明:

能同时取值a和b。

(1)使用random模块来生成一个0-5之间的随机数;

(2)生成一个50-100之间的随机数值;

(3)执行程序,观察效果。

猜拳游戏代码编写

:猜拳游戏规则。有:

(1)玩家输入自己要出的拳,例如石头(1)、剪刀(2)、布(3);

(2)电脑随机出拳,例如电脑可以出:石头、剪刀、布的任意一个;

(3)猜拳游戏的比较胜负规则是:石头能赢剪刀、剪刀能赢布、布能赢石头。

import random

# 1.显示界面
print("=========猜拳小游戏V1.0===========")
# 5.重复
while True:
    # 2.玩家出拳
    print("可以选择出拳的方式有:")
    print("\t(1)石头")
    print("\t(2)剪刀")
    print("\t(3)布")
    player = int(input("请输入你的出拳:"))
    # 3.电脑
    computer = random.randint(1, 3)
    # 4.判断
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print("恭喜你,赢了~~")
    elif player == computer:
        print("平局!!")
    else:
        print("失败了,洗洗手再来一把!!!")

2, 用列表和字典存储下表信息,并打印出工资高于1500的数据

# 操作】用列表和字典存储下表信息,并打印出表中工资高于
# 15000的数据
# s1 = {'姓名':'一',  '年纪' : 18,  '薪资': 30000,  '城市':'北京'}
# s2 = {'姓名':'二',  '年纪' : 19,  '薪资': 20000,  '城市':'上海'}
# s3 = {'姓名':'五',  '年纪' : 20,  '薪资': 10000,  '城市':'深圳'}
# t1=[s1,s2,s3]
# print(t1)
# print('方法一 用for循环')
# for i in t1:
#     if i.get('薪资')>15000:
#         print(i)

回顾本章

逻辑思维

选择机构

循环结构

  • 学习:知识的初次邂逅
  • 复习:知识的温故知新
  • 练习:知识的实践应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值