Python的if 条件语句

Python023

Python的if 条件语句,第1张

Python 中用if语句进行条件判断;与Excel 中的if作用有些类似,具体的语句如下:

if 条件:

    结果

else:

    结果

下面我们来举例进行说明:

例1:年龄>=18岁,输出“成年了”;否则输出“未成年”

age = 16

if age >= 18:

    print("成年了")

else:

    print("未成年")

当存在两个以上条件时,可在if条件判断后,增加 elif(else if 的缩写)继续进行分支条件判断。

说明:分支条件判断的结果输出,当满足第一个条件时既停止后续判断并返回第一个结果;当满足第二个条件时既停止后续判断并返回第二个结果;以此类推,如果全部条件判断均不满足,则返回else的结果。

例2:年龄<18岁,“未成年”; 18岁 =<年龄<40岁,“青年”; 40岁 =<年龄<60岁,“中年”;年龄>=60岁,“老年”

age = 25

if age >= 60:

    print("老年")

elif age >= 40:

    print("中年")

elif age >=18:

    print("青年")

else:

    print("未成年")

注:第二个条件中 可以直接写 “age >=40”; 无需写成 40 =<age<60;因为当判断大盘第二个条件时,已经不满足第一个条件、即age !>=60(age <60),所以“<60”部分可省略。第三个条件同理

条件分支的简单表达:三元表达式

我们将例1(:年龄>=18岁,输出“成年了”;否则输出“未成年”)改写为“三元表达式”

age = 59

result ="成年" if age >=18 else "未成年"

print(result)

注:仅有两个条件判断时,可使用三元表达式进行简写

例3:国籍=china ,输出“中国人”;否则输出“外国人”

nationality = "England"

result = "中国人" if nationality == "china" else "外国人"

print(result)

注:一个“=”代表赋值,“==”代表等于

例4:通过身份证号判断性别(身份证号17位单号为男性,双号为女性)

id = "2308__________2642"

result = "女" if int(id[17]) % 2 == 0 else "男"

print(result)

注:id的类型为字符串,需要通过“int()”函数将其转换为整数; ”%”代表取余数,

“XX %  2  ==0  ” 代表XX除2余数为0即偶数.

在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

在Python中没有switch – case语句。

Python 中没有 do..while 循环。

while 循环使用 else 语句,在 while … else 在条件语句为 false 时执行 else 的语句块。

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

range()函数:range(begin,end,step) 不包含end

break语句用于终止当前循环。break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

break 和 continue 语句通常与 if, if...else 和 if...elif...else 语句一起使用。

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

1.如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句

2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行

Python pass语句是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

其实各个语言的基础都是相通的。

words = ['soften', 'civilize', 'personalization', 'bakery', strain', 'glimpse', 'royals']

for word in words:

    if word == 'civilize':

        print(word.upper()) #全部大写输出

    else:

        print(word.title()) #首字母大写输出

result:

Soften

CIVILIZE

Personalization

Bakery

Strain

Glimpse

Royals

*

条件语句包括:!=\<=\>=\>\<  #这点python还是做的很好哈。

chl = 21

fsy = 32

chl >=20 and fsy <=31 #检查两个条件语句,使用关键词and result:False

(chl >=20) and (fsy <=31) #也可将每个测试放在一对括号内

chl >=20 or fay <=31 #使用or result:True

*

word = ['bride', 'castle', 'masterpieces', 'mystery', 'tragedy', 'bakery', 'strain', 'glimpse']

'castle' in word #使用关键词in让python检查列表中是否有'castle'

words = ['emperor', 'castle', 'royal', 'diplomat', 'bakery', 'strain', 'glimpse']

chl = 'emperors'

if chl not in words: #if not in

    print("The word is not in words list!")

*

age = 12

if age <= 4:

    print("I like dessert and trade!")

elif age <= 18:    #python这点不一样哈,有个elif,可以有若干个elif语句

    print("I like diplomat and dumpling!")

else:

    print("I like nobility and sketch!")

result:

I like diplimat and dumpling!

*

age = 12

if age <= 4:

    price = 0

elif age <= 18:

    price = 10

else:

    price = 20

print("You admission cost is $ " + str(price) +"!") #price要str函数告诉python输出字符

**当其中一个if语句通过测试,python会跳过其他的if语句测试。

eg:寻找两个列表共同的元素(交集)

chls = ['emperor', 'nobility', 'bakery', 'sauce', 'royal']

fsys = ['emperor', 'Spring Festival', 'approaching', 'nobility']

for chl in chls:

    if chl in fsys:

        print("We can discover " + chl +"!")

    else:

        print("Oh my god! The Spring Festival is approaching, prepare " + chl + "!")

result:

We can discover emperor!

Oh my god! The Spring Festival is approaching, prepare nobility!

Oh my god! The Spring Festival is approaching, prepare bakery!

Oh my god! The Spring Festival is approaching, prepare sauce!

Oh my god! The Spring Festival is approaching, prepare royal!