python基础语法 第5节课 ( if 、 for )

一、If 条件判断

1、if条件判断的基本形式

python中,if语句用于控制程序的执行,基本形式为:

if  判断条件 :               ----------------→逻辑、成员运算、比较运算

      (缩进)执行语句.....

else:                              ----------------→else:后面没有表达式

       ( 缩进)执行语句.....   

其中,①”判断条件” 成立时(非0),则执行其后面的语句,执行内容可以是多行,以缩进来区分表示同一范围。

           ② else     为可选语句,在if判断条件不成立时,才会执行

      ③ 缩进   遇到冒号 就要缩进  标准的一个缩进=4个空格,注意4个空格并不等于一个tab。python中用tab是不规范的用法,一般用4个空格。但是在pychram中tab 跟4个空格是一样的,但是在python里面是不一样的!!!!

例1:

age = int(input(‘请输入您的年龄:‘))
if age > 18 : 
    print(‘已成年‘)
else:
    print(‘未成年‘)
#结果
#20
#成年 当判断条件成立时,执行判断后面的语句,就结束了,不会再往下执行

例2:

s = ‘hello‘
if ‘l‘ in s:    #成员关系运算符
    print(‘s的字符串里面有l‘)
else:
    print(‘s的字符串里面没有l‘)
#结果:s的字符串里面有l

例3:

a = 10
b = 5
if a >8 and b > 8:    #逻辑运算符
    print(‘a,b都大于8‘)
else:
    print(‘a,b并不是都大于8‘)
#结果:a,b并不是都大于8

2.if ...elif...elif....else...

在一个if 表达式中,即一个完整的if ...elif...elif....else...中,如果运行了其中一个条件,其他的分支条件不会再运行了!!!!

总结起来:当其中一个条件满足,其他的条件分支自动屏蔽,不会再运行!!!

if 4 > 3:
    print(‘这是真的‘)
elif 4 != 3:
    print(‘这也是真的‘)
else:
    print(‘这是假的‘)结果:这是真的

上述第一个条件成立,直接执行运行结果,不会再去执行别的分支了(即使别的分支的条件也是为True)

3.if后面最关心的是什么?------→判断是True 还是False

形式   if a: ( 隐含有bool(a),是True 还是False)

① a是None 0 {} [ ] () “”  False ,就是等同于 if False:,就是条件不成立,不会执行if 下面的语句,而是执行else里面的语句

② a 是非空类型的,就等同与 if True:,就是条件成立,直接执行if下的语句,结束。(不会再去处理else了)

a 是True

if 1:    #True的,
    print(‘我是if下面的语句‘)
else:
    print(‘我是else下面的语句‘)
#结果:我是if下面的语句

a是False

if {}:    #False的,
    print(‘我是if下面的语句‘)
else:
    print(‘我是else下面的语句‘)
#结果:我是else下面的语句

4.else 是可选语句  在判断条件不成立时,执行相关语句

   说明else 不是必备的 。要不要加else,根据自己的判断逻辑和业务逻辑去自行决定。(加上else,逻辑会更完整)

a = 10
if a > 18:
    print(‘a 的值大于18‘)

#结果:没有输出结果
a = 20
if a > 18:
    print(‘a 的值大于18‘)
#结果 a 的值大于18

5.if 的嵌套

例1

a = 4
b = 6
member = [‘java‘, ‘ruby‘, ‘python‘, "c"]
one_name = ‘c‘
if a > b:
    print("我是if下面的语句!")
    if one_name in member:
        print("我是member里面的一种语言")
    else:
        print("我不是member里面的一种语言")
else:
    print("我是else下面的语句!")
#结果:我是else下面的语句!
a = 8
b = 6
member = [‘java‘, ‘ruby‘, ‘python‘, "c"]
one_name = ‘c‘
if a > b:
    print("我是if下面的语句!")
    if one_name in member:
        print("我是member里面的一种语言")
    else:
        print("我不是member里面的一种语言")
else:
    print("我是else下面的语句!")
#结果:我是if下面的语句!
#我是member里面的一种语言

例2"age1 = input("张三的年龄:")

age2 = input("李四的年龄:")

if int(age1) > int(age2):
    print("张三的年龄大于李四")
    if 1:
        print("hello")
elif int(age1) < int(age2):
    print("李四大于张三")

# 2 个条件表达式
if int(age1) >= int(age2):
    print("张三的年龄大于等于李四")
    if True:
        print("world")
else:
    print("其他可能性")"""结果张三的年龄:19李四的年龄:18张三的年龄大于李四hello张三的年龄大于等于李四world"""

二、for 遍历

什么是遍历?  就是每个元素都想看看(for 循环,遍历,迭代, 是自动播放所有列表(序列)当中的元素

应用在哪些数据类型:字符串  列表 元组 字典 集合

例1:列表的迭代

songs = [‘爱转角‘, "晴天", ‘人来人往‘, ‘左手指月‘]
for each in songs:
    print("正在播放歌曲:{}".format(each))
"""
正在播放歌曲:爱转角
正在播放歌曲:晴天
正在播放歌曲:人来人往
正在播放歌曲:左手指月
"""

例2:元组迭代,同上述列表

例3:字典的迭代

1.对字典使用for循环,取到的默认是字典所有的Key

语法:for each in dict1:  ( 或者 for each in dict1.keys():)

dict1 = {"name": "jay", "age": 28, "hobby": "sing"}
for each in dict1:  #遍历所有的key
    print(each)
for each in dict1.keys():#加上key()输出的结果一样
    print(each)
#结果
name
age
hobby
name
age
hobby

2.取字典的值 

语法:for each in dict1.values():    (或者 for each in dict1:   print(dict1[each])   )

dict = {"name": "jay", "age": 28, "hobby": "sing"}
for each in dict:    #遍历所有的值
    print(dict[each])
for each in dict.values(): #使用value()函数
    print(each)
#结果:
jay
28
sing
jay
28
sing

3.取字典的键值对

语法:for each in dict1.items():    (或者 for key,value in dict1.items():)

dict1 = {"name": "jay", "age": 28, "hobby": "sing"}
for each  in dict1.items():#遍历所有的键值对
    print(each)
for key,value in dict1.items():
    print(‘key:valuse是{}‘.format(key,value))
"""
(‘name‘, ‘jay‘)
(‘age‘, 28)
(‘hobby‘, ‘sing‘)
key:valuse是name
key:valuse是age
key:valuse是hobby
"""

for循环的嵌套

1.range()函数 

range(1,10)表示取1,2,3,4,5,6,7,8,9,类似于切片,取头不取尾

range(1,10,2),增加步长为2,表示取1,3,5,7,9

for i in range(1, 10,3):
    print(i)  

for i in range(1, 10):
    print(i, end=‘ ‘)  # 不会换行,以空格隔开

结果:

1
4
7
1 2 3 4 5 6 7 8 9

2.for循环嵌套实例

总结:for 循环的嵌套,就是外层取一个值,内层取全部值,再返回外层。。。。依次循环。(外层一个,内层一遍)

list1 = [‘A‘,‘B‘,‘C‘,‘D‘]
list2 = [‘E‘,‘F‘]
for each1 in list1:
    print(each1,end = ‘ ‘)
    for each2 in list2:
        print(each2,end = ‘ ‘)

结果:A E F B E F C E F D E F 

fruits = [
    [‘苹果‘,‘香蕉‘],
    [‘梨子‘,‘橘子‘],
    [‘西瓜‘,‘草莓‘]
]
for group in fruits:
    print(group)
    for name in group:
        print(name)

结果:

[‘苹果‘, ‘香蕉‘]
苹果
香蕉
[‘梨子‘, ‘橘子‘]
梨子
橘子
[‘西瓜‘, ‘草莓‘]
西瓜
草莓

相关推荐