威尼斯人线上娱乐

python基础推断,条件判别

28 4月 , 2019  

  Python版本:叁.陆.2  操作系统:Windows
 小编:SmallWZQ

Python基础——条件判定,python基础剖断

  Python版本:3.6.二  操作系统:Windows  作者:SmallWZQ

  到近日截止,Python基础连串的小说中的程序都是一条一条语句顺序实施的。在本章中,小编会入眼介绍让程序选择是不是施行语句块的办法。

  Python程序为何可以兑现作者选取的坚守吗?因为它能够依靠规则进行推断是或不是进行下边包车型客车语句块。

  Python基础——数据类型中讲到的布尔值就与原则剖断有着必然的联系。

5.一 print和import的更加多音信

五.一 print和import的越多音信

  到近年来停止,Python基础种类的篇章中的程序皆以一条一条语句顺序实践的。在本章中,我会器重介绍让程序选择是或不是实践语句块的措施。

基准推断

5.一.1使用逗号输出

伍.壹.一利用逗号输出

  Python程序为何能够兑现自己采纳的效果吗?因为它可以依照规则实行判别是不是推行上边包车型地铁语句块。

 1.1 语句块

  什么是语句块呢?

  语句块是在基准为真(条件语句)时实行或然实行数次(循环语句)的壹组语句。在代码前放置空格来缩进语句即可成立语句块。

  关于缩进:

    使用tab键也足以缩进语句块。Python将一个tab字符解释为到下1个tab字符地方的位移,而2个tab字符位置为玖个空格,然则正式且推荐的艺术是只用空格,尤其是在每一种缩进必要5个空格的时候。

  在Python中,英文版冒号(:)用来标志语句块的早先,块中的每三个言语都以缩进的(缩进量一样)。当回退到和曾经已经关闭的块一样的缩进量时,就表示目前块已经终结了(那些不用操心,许多先后编辑器和集成开垦条件都知晓如何缩进语句块,可以援助用户轻便把握缩进)!!!

 一.二 条件和准星语句

  逸事中的if语句就要闪亮登台啦~~~

  使用原则语句并非少写了冒号(:),而且必须是英文版本的。

  1. if语句

  对于if语句,若条件推断为真,那么前面包车型客车语句块就会被施行。若条件判断为假,语句块就会被跳过,不会施行。

1 #if语句
2 age = 20
3 if age >= 18:
4     print('your age is', age)
5     print('adult')

  2. else语句

  else子句只是增添一种选择(之所以称为子句是因为它不是单独的口舌,而是if的1有个别)。if…else…搭配,若if语句为False,不进行if下的语句块,而去else下的语句块。

1 #if...else...语句
2 age = 3
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
6 else:
7     print('your age is', age)
8     print('teenager')

  3. elif语句

  假如须求检讨多少个标准,就足以选取elif,它是else
if的简写,也是if和else语句的一同利用,尽管用elif做更周密的论断:

1 #if...elif...elif...else...语句
2 age = 3
3 if age >= 18:
4     print('adult')
5 elif age >= 6:
6     print('teenager')
7 else:
8     print('kid')

  四. 条件语句计算

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

  5. 注意点

  if语句执行有本性状,它是从上往下决断,假如在有个别判别上是True,把该论断相应的言辞试行后,就大体掉多余的elifelse语句,所以,请测试并解释为何下面包车型客车次第打字与印刷的是teenager:

1 #条件语句执行特点:从上往下判断
2 age = 20
3 if age >= 6:
4     print('teenager')
5 elif age >= 18:
6     print('adult')
7 else:
8     print('kid')

  6. input()运用

  最终看三个有标题标原则判定。大多同室会用input()读取用户的输入,那样能够和煦输入,程序运营得更有趣,更有人性化。其实啊,Error往往出现在离奇的地方。不信,来看段代码:

#if语句中使用input()方法
birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

  输入1993,结果报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()

  为什么吧?小编在刚接触Python时,用到此处报错也是百思不得其解,一样纠结了漫长。直到后来,作者才稳步懂了。

  关于input(),作者在随笔《Python基础——输出[print()]与输入[input()]》中1度讲得相比较详细了。

  那是因为input()回去的数据类型是strstr无法平昔和整数相比,必须先把str调换来整数。Python提供了int()函数来成功那件业务。

s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

  由此,在编制程序中,条件决断是卓殊关键的。条件推断能够让计算机本身做选取,Python的if…elif…else很灵活。条件剖断从上向下相称,当满意条件时实行相应的块内语句,后续的elif和else都不再实行。

一.叁 条件运算符

python基础推断,条件判别。  条件剖断,if语句龙在剖断并选用是还是不是试行,而从未过多关系条件本身。

  上边是Python山西中国广播集团大的标准运算符:

Python中的条件运算符
表达式 描述
x == y x 等于 y
x < y x 小于 y
x > y x 大于 y
x >= y x 大于等于 y
x <= y x 小于等于 y
x != y x 不等于 y
x is y x和y是同一个对象
x is not y x和y不是同一对象
x in y x是y容器的成员
x not in y x不是y容器的成员

  在Python中,相比较运算和赋值运算是可以延续的——多少个运算符能够连在一齐使用,举个例子:
0 < age <120。

  有些运算符值得尤其关怀:

  一、相等运算符

  假如想要知道多个内容是或不是等于,你应当选用分外运算符,即五个等号==。请务必记得是五个等号!!!单个等号只是赋值啊~~威尼斯人线上娱乐 ,~

1 #相等运算符==
2 >>>"python" == "python"
3 True
4 >>>"Python" == "python"
5 False
6 >>>"python" = "python"
7   File "<stdin>", line 1
8 SyntaxError: can't assign to literal
9 #很明显,单个相等运算符是赋值运算符,是用来改变值的,而不能用来比较

  2、is:同一性运算符

  这一个概念很不友善,什么是同①性?第三回接触真是云里雾里啊,真正明白is运算符才知道同壹性的真谛。

  乍壹看,is运算符和==同样,事实上却今非昔比。

  示例代码如下:

 1 #同一性运算符:is
 2 #is和==之间的差异
 3 >>>x = y = [1,2,3]
 4 >>>z = [1,2,3]
 5 >>>x == y
 6 True
 7 >>>x == z
 8 True
 9 >>>x is y
10 True
11 >>>y is x
12 True
13 >>>x is z
14 False
15 >>>z is x
16 False

  注:==运算符相比四个目的是还是不是等于,is判别双方是还是不是1律(同2个对象)。

  3、in:成员身份运算符

  四、布尔运算符:and、or和not

  伍、断言:条件后,增加字符串,解释断言,关键字:assert(在程序中置入检查点)

打字与印刷七个表达式也是实用的,只要将它们用逗号隔离就好:

打字与印刷七个表明式也是可行的,只要将它们用逗号隔离就好:

  Python基础——数据类型中讲到的布尔值就与原则剖断有着必然的联系。

小结

  壹. 等号运算符:==,单个等号=为赋值运算符;

  二. 规则判别能够让Computer本人做取舍,Python的if…elif…else很灵巧;

  叁.
尺码决断从上向下相配,当满意条件时进行相应的块内语句,后续的elif和else都不再实践。

Python版本:三.6.2 操作系统:Windows 小编:SmallWZQ
到如今停止,Python基础种类的文章中的程序都以一条…

>>>print'age:',42
age: 42

  

>>>print'age:',42age: 42

  

规范判定

要同时输出文本和变量值,却又不愿意利用字符串格式化:

要同时输出文本和变量值,却又不期待利用字符串格式化:

 1.1 语句块

  什么是语句块啊?

  语句块是在标准为真(条件语句)时实行也许进行多次(循环语句)的一组语句。在代码前放置空格来缩进语句即可创设语句块。

  关于缩进:

    使用tab键也得以缩进语句块。Python将二个tab字符解释为到下一个tab字符地方的移动,而3个tab字符地方为柒个空格,不过正式且推荐的措施是只用空格,越发是在各种缩进须要五个空格的时候。

  在Python中,英文版冒号(:)用来标志语句块的启幕,块中的每叁个口舌都是缩进的(缩进量一样)。当回退到和曾经已经关闭的块同样的缩进量时,就代表近年来块已经终止了(那么些不用操心,许多程序编辑器和集成开垦条件都知道什么缩进语句块,能够扶持用户轻便把握缩进)!!!

 一.二 条件和规格语句

  好玩的事中的if语句就要闪亮登台啦~~~

  使用标准语句并非少写了冒号(:),而且必须是英文版本的。

  1. if语句

  对于if语句,若条件判别为真,那么前面的语句块就会被实施。若条件判断为假,语句块就会被跳过,不会进行。

1 #if语句
2 age = 20
3 if age >= 18:
4     print('your age is', age)
5     print('adult')

  2. else语句

  else子句只是扩充一种接纳(之所以称之为子句是因为它不是独立的话语,而是if的壹局地)。if…else…搭配,若if语句为False,不实行if下的语句块,而去else下的语句块。

1 #if...else...语句
2 age = 3
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
6 else:
7     print('your age is', age)
8     print('teenager')

  3. elif语句

  如若要求检讨八个标准化,就足以接纳elif,它是else
if的简写,也是if和else语句的联合使用,尽管用elif做越来越细致的判定:

1 #if...elif...elif...else...语句
2 age = 3
3 if age >= 18:
4     print('adult')
5 elif age >= 6:
6     print('teenager')
7 else:
8     print('kid')

  4. 准绳语句总括

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

  5. 注意点

  if语句实施有个特征,它是从上往下判定,假若在有些判定上是True,把该论断相应的口舌实施后,就概略掉多余的elifelse语句,所以,请测试并分解为啥下边包车型大巴程序打字与印刷的是teenager:

1 #条件语句执行特点:从上往下判断
2 age = 20
3 if age >= 6:
4     print('teenager')
5 elif age >= 18:
6     print('adult')
7 else:
8     print('kid')

  6. input()运用

  最终看三个有标题标规则判定。大多同班会用input()读取用户的输入,那样能够和睦输入,程序运转得更风趣,更有人性化。其实啊,Error往往出现在离奇的地点。不信,来看段代码:

#if语句中使用input()方法
birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

  输入19玖三,结果报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()

  为什么呢?小编在刚接触Python时,用到此处报错也是百思不得其解,同样纠结了长久。直到后来,作者才慢慢懂了。

  关于input(),小编在小说《Python基础——输出[print()]与输入[input()]》中早就讲得比较详细了。

  那是因为input()回去的数据类型是strstr不能够平昔和整数相比较,必须先把str调换来整数。Python提供了int()函数来完结那件专门的学问。

s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

  因而,在编制程序中,条件判定是丰富首要的。条件判别能够让Computer自个儿做取舍,Python的if…elif…else很灵敏。条件判别从上向下相配,当满意条件时施行相应的块内语句,后续的elif和else都不再实行。

壹.叁 条件运算符

  条件剖断,if语木帝在决断并选用是不是推行,而尚未过多关系条件本人。

  上边是Python辽宁中国广播公司泛的标准化运算符:

Python中的条件运算符
表达式 描述
x == y x 等于 y
x < y x 小于 y
x > y x 大于 y
x >= y x 大于等于 y
x <= y x 小于等于 y
x != y x 不等于 y
x is y x和y是同一个对象
x is not y x和y不是同一对象
x in y x是y容器的成员
x not in y x不是y容器的成员

  在Python中,比较运算和赋值运算是足以接连的——多少个运算符能够连在一同使用,比如: 0 < age <120。

  有个别运算符值得尤其关怀:

  壹、相等运算符

  假使想要知道多少个内容是或不是等于,你应当利用格外运算符,即四个等号==。请务必记得是七个等号!!!单个等号只是赋值啊~~~

1 #相等运算符==
2 >>>"python" == "python"
3 True
4 >>>"Python" == "python"
5 False
6 >>>"python" = "python"
7   File "<stdin>", line 1
8 SyntaxError: can't assign to literal
9 #很明显,单个相等运算符是赋值运算符,是用来改变值的,而不能用来比较

  2、is:同1性运算符

  本条定义很不协和,什么是同一性?第1遍接触真是云里雾里啊,真正精晓is运算符才知道同壹性的真理。

  乍一看,is运算符和==同样,事实上却今非昔比。

  示例代码如下:

 1 #同一性运算符:is
 2 #is和==之间的差异
 3 >>>x = y = [1,2,3]
 4 >>>z = [1,2,3]
 5 >>>x == y
 6 True
 7 >>>x == z
 8 True
 9 >>>x is y
10 True
11 >>>y is x
12 True
13 >>>x is z
14 False
15 >>>z is x
16 False

  注:==运算符相比较三个对象是或不是等于,is判别双方是还是不是同样(同2个目标)。

  3、in:成员身价运算符

  4、布尔运算符:and、or和not

  伍、短路逻辑

  短路???条件表达式中的布尔运算符就有其一天性。什么是短路逻辑吗?如下所示:

  条件表明式:a and
b,该表达式哪天归来True呢?即a与b同时为真,若a判别为False,则无论b是真是假,该表达式都为为False。

  事实上,若是x为假,条件表明式会再次来到x的值,不然重回y的值。那种作为被叫作短路逻辑。而围堵逻辑一样适用于or运算符。

>>> name='Gumby'

>>> salutation='Mr.'

>>> greeting='Hello.'

>>>print greeting,salutation,name

Hello. Mr. Gumby

  

假若在结尾处加上逗号,那么接下去的语句会与前一条语句在平等行打字与印刷:

print ‘Hello,’,
print ‘world!’

Hello, world!

5.壹.2 把某件事作为另壹件事导入

>>> name='Gumby'>>> salutation='Mr.'>>> greeting='Hello.'>>>print greeting,salutation,nameHello. Mr. Gumby

  

假使在结尾处加上逗号,那么接下去的语句会与前一条语句在一样行打字与印刷:

print ‘Hello,’,
print ‘world!’

Hello, world!

5.一.二 把某件事作为另壹件事导入

小结

  一.
等号运算符:==,单个等号=为赋值运算符;

  二. Python的尺度判别if…elif…else很灵活;

  三. 尺度剖断从上向下相称;

  肆. 梗阻逻辑适用于布尔运算符(and,or)。

从模块导入函数:

从模块导入函数:

import somemodule

from somemodule import somefunctian

from somemodule import somefunction,anotherfunction,yetanotherfunction

from somemodule import*

能够在言辞末尾扩展二个as子句,在该子句后交给名字,或为整个模块提供小名:

>>> import math as foobar

>>> foobar.sqrt(4)

2.0

  

import somemodule

from somemodule import somefunctian

from somemodule import somefunction,anotherfunction,yetanotherfunction

from somemodule import*

能够在言辞末尾增添三个as子句,在该子句后交给名字,或为整个模块提供小名:

>>> import math as foobar>>> foobar.sqrt2.0

  

也足感到函数提供小名:

也得感到函数提供别称:

>>> from math import sqrt as foobar

>>> foobar(4)

2.0

  

  

5.2赋值

>>> from math import sqrt as foobar>>> foobar2.0

  

  

5.2赋值

伍.贰.1队列解包

5.二.一种类解包

多个赋值操作能够而且张开:

两个赋值操作可以同时开始展览:

>>> x,y,z=1,2,3

>>> print x,y,z

1 2 3

>>> x,y=y,x

>>> print x,y,z

2 1 3

  

队列解包(sequence
unpacking)或可选代解包–将两个值的行列解开,然后放到变量的队列中:

>>> values=1,2,3

>>> values

(1, 2, 3)

>>> x,y,z=values

>>> x

1

  

当函数也许措施重临元组(可能别的体系或可迭代对象)时,那天天性越发有用。假使要求获得(和删除)字典中任意的键-值对,能够使用popitem方法,这一个法子将键-值作为元组重临。那么那个元组就足以直接赋值到五个变量中:

>>> x,y,z=1,2,3>>> print x,y,z1 2 3>>> x,y=y,x>>> print x,y,z2 1 3

  

队列解包(sequence
unpacking)或可选代解包–将多少个值的行列解开,然后嵌入变量的队列中:

>>> values=1,2,3>>> values>>> x,y,z=values>>> x1

  

当函数或许措施再次回到元组(只怕此外连串或可迭代对象)时,那么些特点特别有用。假如要求获得字典中任性的键-值对,能够运用popitem方法,那些措施将键-值作为元组重回。那么那几个元组就能够直接赋值到七个变量中:

>>> scoundrel={'name':'robin','girlfriend':'marion'}>>> key,value=scoundrel.popitem()>>> key'girlfriend'>>> value'marion'

  

 

它同意函数重回3个以上的值并且打包成元组,然后经过2个赋值语句很轻易实行访问。所解包的行列中的成分数量必须和停放在赋值符号=左边的变量数量完全1致,不然Python会在赋值时引发那些:

>>> scoundrel={'name':'robin','girlfriend':'marion'}

>>> key,value=scoundrel.popitem()

>>> key

‘girlfriend’

>>> value

‘marion’

  

>>> x,y,z=1,2Traceback (most recent call last):File "<input>", line 1, in <module>ValueError: need more than 2 values to unpack

  

它同意函数重返3个之上的值并且打包成元组,然后通过贰个赋值语句很轻松开始展览走访。所解包的队列中的成分数量必须和停放在赋值符号=左边的变量数量完全1致,不然Python会在赋值时引发那么些:

伍.二.二链式赋值

>>> x,y,z=1,2

Traceback (most recent call last):

File ““, line 1, in

ValueError: need more than 2 values to unpack

  

链式赋值(chained assignment)是将同二个值赋给多少个变量的捷径。

5.二.2链式赋值

x=y=somefunction()

链式赋值(chained assignment)是将同三个值赋给多个变量的走后门。

和底下语句的功力是均等的:

x=y=somefunction()

y=somefunction()

和底下语句的成效是同一的:

x=y

y=somefunction()

瞩目上面的语句和下部的语句不必然等价:

x=y

x=somefunction()

注意上面的说话和上边包车型地铁语句不必然等价:

y=somefunction()

x=somefunction()

伍.贰.三增量赋值

y=somefunction()

那边未有将赋值表达式写为x=x+一,而是将表明式运算符放置在赋值运算符的左手,写成x+=1。那种写法叫做增量赋值(augmented
assignment),对于*、/、%等标准运算符都适用.

五.二.三增量赋值

>>> x=2>>> x+=1>>> x*=2>>> x6

  

五.三语句块:缩排的意趣

这边未有将赋值表达式写为x=x+一,而是将表达式运算符放置在赋值运算符的左边,写成x+=一。这种写法叫做增量赋值(augmented
assignment),对于*、/、%等正规运算符都适用.

语句块是在尺度为真时推行只怕举办多次的1组语句。在代码前停放空格来缩进语句即可成立语句块。使用tab字符也可以缩进语句块。Python将三个tab字符解释为到下1个tab字符地方的活动,而二个tab字符地点为九个空格,可是正式且推荐的章程是只用空格,尤其是在种种缩进必要6个空格的时候。

>>> x=2

>>> x+=1

>>> x*=2

>>> x

6

  

伍.三语句块:缩排的童趣

⑤.肆典型和原则语句

语句块是在标准化为真(条件语句)时举行大概推行多次(循环语句)的1组语句。在代码前停放空格来缩进语句就能够创造语句块。使用tab字符也可以缩进语句块。Python将3个tab字符解释为到下三个tab字符地点的位移,而贰个tab字符地方为七个空格,然则正式且推荐的主意是只用空格,越发是在每一个缩进需求陆个空格的时候。

5.四.一那就是布尔变量的作用

5.四规范化和标准语句

上边包车型客车值在作为布尔表达式的时候,会被解释器看作假(false}:

伍.4.壹那正是布尔变量的机能

False None 0 ”” () [] {}

下边包车型客车值在作为布尔表明式的时候,会被解释器看作假(false}:

换句话说,也正是正式值False和None、全体类型的数字0(包蕴浮点型、长整型和其余项目)、空体系(比方空字符串、元组和列表)以及空的字典都为假。别的的百分百都被分解为真,包含特殊值True.

False None 0 ”” () [] {}

5.四.贰 条件实践和if语句

换句话说,相当于规范值False和None、全数品种的数字0(包涵浮点型、长整型和任何类型)、空系列(比如空字符串、元组和列表)以及空的字典都为假。其余的一切都被分解为真,包蕴新鲜值True.

if语句,它能够落成规范实行。即假若条件
(在if和冒号之间的表达式)判别为真,那么前面包车型大巴语句块就会被实施。如若条件为假,语句块就不会被实践.

伍.四.贰 条件实行和if语句

name=raw_input('what is your name?:')if name.endswith:print 'hello, Mr.jack'

  

5.4.3 else子句

name=raw_input('what is your name?:')if name.endswith:print 'hello, Mr.jack'else:print 'hello, stranger'

  

if语句,它能够兑现标准化实践。即只要条件
(在if和冒号之间的表达式)剖断为真,那么后边的语句块就会被实践。若是基准为假,语句块就不会被施行.

5.4.4 elif子句

name=raw_input('what is your name?:')
if name.endswith('jack'):
print 'hello, Mr.jack'

  

5.4.3 else子句

name=raw_input('what is your name?:')
if name.endswith('jack'):
print 'hello, Mr.jack'
else:
print 'hello, stranger'

  

要是供给检查五个条件,就足以采纳elif,它是“else
if的简写,也是if和else子句的联名利用—-也正是具备标准的else子句。

5.4.4 elif子句

num=input('enter a number:')if num>0:print 'the number is positive'elif num<0:print 'the number is negtive'else:print 'the number is zero'

  

假诺需求检讨多个原则,就足以采纳elif,它是“else
if的简写,也是if和else子句的一路利用—-也正是怀有规则的else子句。

伍.四.5更复杂的规格

num=input('enter a number:')
if num>0:
print 'the number is positive'
elif num<0:
print 'the number is negtive'
else:
print 'the number is zero'

  

一.相比较运算符

五.4.伍更扑朔迷离的规格

威尼斯人线上娱乐 1

一.相比运算符

二.相等运算符

威尼斯人线上娱乐 2

假设想要知道七个东西是或不是等于,应该利用极度运算符,即四个等号==

二.相等运算符

  1. is:同1性运算符

壹旦想要知道多少个东西是还是不是等于,应该运用格外运算符,即多个等号==

>>> x=y=[1,2,3]>>> z=[1,2,3]>>> x==yTrue>>> x==zTrue>>> x is yTrue>>> x is zFalse

  

x和z相等却不等同,为啥吗?因为is运算符是推断同一性而不是相等性的。变量x和y都被绑定到同3个列表上,而变量z被绑定在此外2个有着同样数值和1壹的列表上。它们的值恐怕约等于,不过却不是同3个对象。

  1. is:同一性运算符

四.in:成员身价运算符

>>> x=y=[1,2,3]

>>> z=[1,2,3]

>>> x==y

True

>>> x==z

True

>>> x is y

True

>>> x is z

False

  

x和z相等却不一致,为何呢?因为is运算符是推断同一性而不是相等性的。变量x和y都被绑定到同三个列表上,而变量z被绑定在此外一个有着同等数值和各类的列表上。它们的值也许相当于,可是却不是同1个对象。

5.字符串和体系比较

四.in:成员身份运算符

6.布尔运算符

5.字符串和系列相比较

5.4.7断言

陆.布尔运算符

如果急需确定保证程序中的有个别条件一定为真才干让程序符合规律职业来讲,assert语句就有用了,它能够在程序中置入检查点。

5.4.7断言

>>> age=10>>> assert 0<age<100>>> age=-1>>> assert 0<age<100Traceback (most recent call last):File "<input>", line 1, in <module>AssertionError

  

威尼斯人线上娱乐 3

只要须求保障程序中的有个别条件一定为真才干让程序通常化干活以来,assert语句就有用了,它能够在先后中置入检查点。

>>> age=10

>>> assert 0<age<100

>>> age=-1

>>> assert 0<age<100

Traceback (most recent call last):

File "<input>", line 1, in <module>

AssertionError

  

威尼斯人线上娱乐 4


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图