一、if
1)if的表示
if 条件表达式1:
(缩进)条件满足后要运行的代码
elif 条件表达式2:
(缩进)代码2
elif 条件表达式3:
(缩进)代码3
······
else:
(缩进)剩下所有的情况要运行的代码
注意:一个缩进标准是4个空格,4个空格并不等于1个Tab(要使用空格缩进,不要使用Tab缩进)
在一个if表达式中,if····elif····else····,如果运行了一个条件,其他的分支就不会再运行了
zjx_age = input("zjx的年龄:") xiaoyanger_age = input("小样儿的年龄:") if int(zjx_age) > int(xiaoyanger_age): print("zjx比小样儿大") elif int(zjx_age) < int(xiaoyanger_age): print("zjx比小样儿小") else: print("两人一样大")
注意:条件表达式:需要能够返回布尔类型(比较运算、成员运算、身份运算、逻辑运算)
"",[],{},(),0,False代表条件不成立
name = 'zhangjx' if 'jx' in name: #成员关系运算符 print('name字符串中包含jx') else: print('name字符串中不包含jx') a = 4 b = 6 if a < 10 and b < 10: #逻辑运算符 print('a,b都小于10') else: print('a,b至少有一个大于等于10') a =[] if a: print("True") else: print("False)
2)if的嵌套
a = 4 b = 6 name=['C++','python','java'] if a > b: print("a大于b") if "python" in name: print("我要学python") else: print("我要学C++") else: print("我要学java")
二、for
1)遍历列表、元组、字符串、集合
songs = ['爱转角','晴天','恋爱达人','明明就','左手指月'] for item in songs: print('正在播放的歌曲:{}'.format(item)) 结果: 正在播放的歌曲:爱转角 正在播放的歌曲:晴天 正在播放的歌曲:恋爱达人 正在播放的歌曲:明明就 正在播放的歌曲:左手指月
注意:元组、字符串、集合遍历方式同列表
for循环里面有个隐藏机制:index + 1
![](https://img2020.cnblogs.com/blog/2139604/202009/2139604-20200904184936908-2061999826.png)
2)遍历字典
对字典使用for循环,取到的默认是所有的key
songs = {'1':'爱转角','2':'晴天','3':'恋爱达人','4':'明明就','5':'左手指月'} for item in songs: print('正在播放的歌曲:{}'.format(item)) 结果: 正在播放的歌曲:1 正在播放的歌曲:2 正在播放的歌曲:3 正在播放的歌曲:4 正在播放的歌曲:5
如何取所有的值?
songs = {'1':'爱转角','2':'晴天','3':'恋爱达人','4':'明明就','5':'左手指月'} for item in songs.values(): print('正在播放的歌曲:{}'.format(item)) 结果: 正在播放的歌曲:爱转角 正在播放的歌曲:晴天 正在播放的歌曲:恋爱达人 正在播放的歌曲:明明就 正在播放的歌曲:左手指月
如何取key和value?
songs = {'1':'爱转角','2':'晴天','3':'恋爱达人','4':'明明就','5':'左手指月'} for key,value in songs.items(): print('keys:{},values:{}'.format(key,value)) 结果: keys:1,values:爱转角 keys:2,values:晴天 keys:3,values:恋爱达人 keys:4,values:明明就 keys:5,values:左手指月
songs = {'1':'爱转角','2':'晴天','3':'恋爱达人','4':'明明就','5':'左手指月'} for a in songs.items(): print(a) 结果: ('1', '爱转角') ('2', '晴天') ('3', '恋爱达人') ('4', '明明就') ('5', '左手指月')
3)for循环嵌套
songs = ['爱转角','晴天','恋爱达人','明明就'] my_lists = ['smile','zjx','python','lemon'] for song in songs: for my_list in my_lists: print('songs:{},my_list:{}'.format(song,my_list))
4)循环一个指定的列表
names = [['zjx','小可',],['花花','钉钉','小米'],['小林','小罗'],['丽丽','萌萌']] for group in names : print(group) for name in group: print(name) 结果: ['zjx', '小可'] zjx 小可 ['花花', '钉钉', '小米'] 花花 钉钉 小米 ['小林', '小罗'] 小林 小罗 ['丽丽', '萌萌'] 丽丽 萌萌
5)没有指定的列表
range(start:end:step):取左不取右,同切片
for i in range(1,10): print(i)
end控制不换行,等号后可加分隔符
for i in range(1,10): print(i,end=',') # 1,2,3,4,5,6,7,8,9,
三、while
使用场景:
-
没有具体的变量可以遍历;
-
不知道具体要循环的次数;
-
不知道终止的条件;
-
相当于手工版的for
语法:
while 条件:
代码
流程:当把while循环下面的子分支执行完毕以后,程序会返回while的条件判断。
list_1 = ["zjx","learn","python","java","ruby"] index=0 while index < len(list_1): print(list_1[index]) index += 1 结果: zjx learn python
java
ruby
终止循环(可用于for、while):
-
break:终止整个循环,执行循环体之外后面的代码
list_1 = ["zjx","learn","python","java","ruby"] index=0 while index < len(list_1): print(list_1[index]) index += 1 if index == 4: brea 结果: zjx learn python java
-
continue:终止本次循环
list_1 = ["zjx","learn","python","java","ruby"] index=0 while index < len(list_1): print(list_1[index]) index += 1 print("执行continue前会执行本句吗?") continue print("执行continue后会执行本句吗?")
pass:还不知道具体写什么内容,用pass去占坑,用来保持语法的完整性