if语句
1、if 条件:
执行代码块(条件成立)
i = 1 if i < 5: # 条件成立 print('我比5小') #输出为 我比5小
2、if 条件:
满足条件执行的代码块1
else:
没有满足if条件执行的代码块2
i = 1 if i < 5: #条件不成立所以执行else里的代码 print('我比5小') else: print('我比5大') print('这里还是属于else里的代码块') print('注意缩进') #输出为 我比5小 # 注意缩进
3、if 条件:
满足if条件执行的代码块1
elif 条件1:
满足条件1执行的代码块2
elif 条件2:
满足条件2执行的代码块3
else:
不满足以上条件执行的代码块4
piao = '没钱' if piao == '有票' : print('我要坐上或者去拉萨') elif piao == '没票': print('我要去先补个票') else: print('票都没得补,回家睡觉') #输出为 票都没得补,回家睡觉
4、if嵌套
if 条件:
满足if条件执行的代码块
elif 条件1:
if 条件1-1:
满足条件1-1执行的代码块
elif 条件1-2:
满足条件1-2执行的代码块
else:
都不满足执行的代码块
elif 条件2:
满足条件2执行的代码块
elif 条件3:
满足条件1执行的代码块
x = int(input("Please enter first value1:")) #int()转化类型为int型 y = int(input("Please enter second value2:")) z = int(input("Please enter second value3:")) if (x==y==z): print("三数相同!") elif (x>y): if (z>x): print("最大数为:",z) else: print("最大数为:",x) else: if (z>y): print("最大数为:",z) else: print("最大数为:",y)
导入模块
Python程序可以调用一组基本的函数,这称为“内建函数”,包括之前见过的print()、input()函数,Python也包含一组模块,称为“标准库”。每个模块都是一个Python程序,包含一组相关的函数,可以嵌套到自己的程序中。例如:math模块有数学运算相关的函数,random模块有随机数相关的函数。在使用一个模块中的函数之前,必须用import语句导入该模块。
import 模块1,模块2,模块3————例如:import random,sys,os,math
import random i=1 while i<=5: print(random.randint(1,10),end = ' ') #输出为 9 4 8 3 5 i+=1
例子:猜拳游戏
import random user = input('请输入石头、剪刀、布:') #接受用户输入的内容 cont = ['石头','剪刀','布'] #初始化数据 num = random.randint(0,3) #获取0-2随机数 #random.randint(x,y) 返回x 到 y 之间的随机数 if user == '石头': if cont[num] == '石头': print('用户输入的是%s,电脑输入的是%s,平局'%(user,cont[num])) elif cont[num] == '剪刀': print('用户输入的是%s,电脑输入的是%s,你赢了'%(user, cont[num])) elif cont[num] == '布': print('用户输入的是%s,电脑输入的是%s,电脑赢了'%(user, cont[num])) elif user == '剪刀': if cont[num] == '石头': print('用户输入的是%s,电脑输入的是%s,电脑赢了'%(user,cont[num])) elif cont[num] == '剪刀': print('用户输入的是%s,电脑输入的是%s,平局' % (user, cont[num])) elif cont[num] == '布': print('用户输入的是%s,电脑输入的是%s,你赢了'%(user, cont[num])) elif user == '布': if cont[num] == '石头': print('用户输入的是%s,电脑输入的是%s,你赢了'%(user,cont[num])) elif cont[num] == '剪刀': print('用户输入的是%s,电脑输入的是%s你输了'%(user, cont[num])) elif cont[num] == '布': print('用户输入的是%s,电脑输入的是%s,平局'%(user, cont[num])) else: print('您的输入有误!拜拜')
while循环
1、while 条件:
代码块
i = 1 #初始化变量为1 while i<=10: #对初始化条件信息判断 判断成立则进入循环体 print('I Love You') #输出为 10行I Love You i+=1 #这里对变量进行一个累加 i = i+1 print(i) #输出为11
2、while 条件1:
满足条件1执行代码块1
while 条件2:
满足条件1又满足条件2执行代码块2
''' 输出为 * * * * * * * * * * * * * * * ''' i = 0 while i < 5: #控制行数 m = 0 while m <= i: #控制个数 print('*',end = ' ') #表示print的结束符为空格 默认是换行 m+=1 i+=1 print() #每行输出完毕之后输出一个换行 print默认是换行结尾
3、while循环使用else语句,while-else在条件语句为false时执行else语句块
while 条件:
满足条件执行代码块
else:
不满足条件执行代码块
''' 输出为 爱你一万年 爱你一万年 爱你一万年 我是至尊宝 ''' a = 0 #初始化变量 while a < 3: print('爱你一万年') a+=1 #进行累加 每一次循环自动加1 else: #当条件不成立的时候 print('我是至尊宝')
终止循环
1、使用break退出循环
在循环体内遇到break则会跳出循环,终止循环,并且不论循环的条件是否为真,都不再继续循环下去,整个循环结束
''' 输出为 至尊宝:爱你一万年 至尊宝:爱你一万年 至尊宝:爱你一万年 紫霞仙子:别说话,吻我! ''' a = 0 #初始化变量 while a < 5: #判断条件 a = 0 if a == 3: #判断条件 print('紫霞仙子:别说话,吻我!') break #当a = 3,进入if,输出一句话,然后break跳出整个循环,整个循环结束 print('至尊宝:爱你一万年') a+=1 #进行累加 每一次循环自动加1
2、使用continue退出循环
退出当前循环,再继续执行下一次循环,大循环还在继续,只是结束了当前一个循环
''' 输出为 第1圈开始 好累哈 第1圈结束 第2圈开始 好累哈 蹭老师不注意,后半圈没跑 第3圈开始 好累哈 第3圈结束 ''' a = 0 while a <3: a += 1 print('第%d圈开始'%a,end=' ') print('好累哈',end=' ') if a == 2: print('蹭老师不注意,后半圈没跑') continue print('第%d圈结束'%a)
for循环
1、for可以循环遍历任何序列项目,如一个列表或者一个字符串。(序列可以是列表元组集合,如果是字典只能遍历keys,无法遍历values)
for 变量 in 序列:
满足条件执行代码块
''' 输出为 joe susan jack Tom ''' list01 = ['joe','susan','jack','Tom'] #遍历列表 for i in list01: #遍历list01这个列表,将列表中的元素依次复制给变量 i print(i) #输出i 直到将所有的元素遍历完毕停止遍历
遍历字典,continue与break的用法和while中的没有区别
''' 创建一个名为favorite_places的字典。在这个字典中,将三个人的名字用作键; 对于其中的每个人,都存储他喜欢的1〜3个地方. 输入一个人名(input) 遍历这个字典,并将这个人喜欢的地方打印出来。 ''' favorite_places = {'张三':['上海','北京','深圳'], '李四':['张家界','九寨沟','鼓浪屿']} name = input('请输入姓名:') sign = 0 for i in favorite_places: #遍历字典,可以得到字典的key if name == i: #遍历字典获取key 然后通过key和输入的值判断 print(favorite_places[name]) break sign += 1 if sign == len(favorite_places): print('找不到该人信息') ''' 输出为 请输入姓名:张三 ['上海', '北京', '深圳'] '''
range()函数
Python中range() 函数返回的是一个整数序列的对象,一般用在 for 循环中。
函数语法
range(start, stop, step)
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
例如:list(range(1, 11)) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list(range(0, 30, 5)) # 步长为 5 [0, 5, 10, 15, 20, 25]
推导式
1、列表推导式
list01 = [] #声明一个空列表 for i in range(3,10): #遍历数字序列 if i % 2 == 0: list01.append(i) #将遍历得内容添加到列表当中 print(list01) #输出为[4, 6, 8] #两种方式等价 list03 = [i for i in range(3,10) if i % 2 == 0] #简写方式 print(list01) #输出为[4, 6, 8]
2、字典推导式
list02 = ['joe','susan','black'] print(list(enumerate(list02))) #输出为[(0, 'joe'), (1, 'susan'), (2, 'black')] #enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 dict01 = {k:v for k,v in enumerate(list02)} print(dict01) #输出为{0: 'joe', 1: 'susan', 2: 'black'} dict01 = {'name':'joe','age':'18'} print(list(dict01.items())) #输出为[('name', 'joe'), ('age', '18')] for k,v in dict01.items(): #items将字典中的键值对转化为元组的形式 print(k,v ) #输出为 name joe # age 18
3、嵌套列表推导式
names=[['Tom','Billy','Jefferson','Andrew','Wesley','Joe'], ['Alice','Jill','Ana','Wendy','Jennifer','Eva']] print(names[0][0]) list04 = [] for i in names: for n in i : if len(n) <= 4: list04.append(n) print(list04) #输出为['Tom', 'Joe', 'Jill', 'Ana', 'Eva'] lsit04 = [n for i in names for n in i if len(n) > 4] print(lsit04) #输出为['Billy', 'Jefferson', 'Andrew', 'Wesley', 'Alice', 'Wendy', 'Jennifer']