条件语句if、if-else/if-elif-else
每个条件后面要使用冒号 :,冒号后的内容表示满足条件后要执行的语句块。
使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块(IDE 会自动缩进)。
在 Python 中没有 switch–case 语句。
1.if语句
if 条件:
语句1
else:
语句2例题1:
age = 18 if age >= 18: print ('你已经成年,欢迎进入网吧') #返回 你已经成年,欢迎进入网吧
例题2:
age = 12 if age >= 18: print ('你已经成年,欢迎进入网吧') else: print ('未满18岁,禁止进入') #返回 未满18岁,禁止进入
例题3:
year = int(input('请输入年份:')) if ((year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0)): print('闰年') else: print('不是闰年')
执行结果:
2.elif语句
if 条件1:
语句1
elif 条件2:
语句2
else:
语句3例题:
holidy = '中秋节' if holidy == '情人节': print ('买玫瑰') elif holidy == '圣诞节': print ('吃大餐') elif holidy == '生日': print ('吃蛋糕') else: print ('每一天都是节日')
执行结果
3.if嵌套
if 条件1:
语句1
if 条件2(满足条件1的基础上):
语句2
else:
语句3
else:
语句4(条件1不满足,执行代码)例题:
# 定义布尔型变量 表示是否有车票 has_ticket = False # 定义变量表示刀的长度 knife_length = 15 if has_ticket: print ('车票检查通过,准备开始安检') if knife_length > 20: print ('长度为 %d:超出限定的长度,不允许进入' % knife_length) else: print ('长度为 %d:没有超过限定的长度,允许进入' % knife_length) else: print ('请先购票') #返回 请先购票
循环语句for
1.遍历循环:for循环遍历序列(字符串、列表、元组、字典…)中的元素
for 循环变量 in 遍历结构:
语句块例题:
# 3.②逢7拍手(**略过) for i in range(0,100): i+=1 if i%7==0 or i//10==7 or i%10==7: ##含7的数字 print('**',end='\t') else: print(i,end='\t') if i%10==0: ##每十个数字实现换行 print('\n')
执行结果:
2.range()函数遍历序列:range()函数可以生成数列,将生成的数列作为索引,我们可以遍历数字序列
- 1.range(n):生成步长为1的数列:1,2,3……n;
- 2.range(m, n):生成步长为1的数列:m,m+1,m+2,……,n;
- 3.range(m, n, s):生成步长为s的数列:m,m+s,m+2s,……,X(<=n)
for i in range(10): ##循环10次(0~9) print(i,end='\t') ##不换行、横向空格隔开 #返回 0 1 2 3 4 5 6 7 8 9
循环语句while
与 for 循环不同,while 循环不是采用遍历数据序列的方式来进行循环操作的,其循环的依据是条件判断
1.一般形式
# 一般形式 index = 0 while index < 3: print(index,end='\t') index += 1 #返回 0 1 2
2.无限循环
当程序执行到while语句时,判断条件如果为True,执行语句块,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止。继续后续语句。
i = 0 while True: print(i) i += 1 #返回 无限输出i的值(无限循环)
break语句
用于跳出 for 和 while 循环体
a = 'python'
for i in a:
if i == 'h':
print('\t你输入的内容里有h,h是违规字。')
break
print(i,end = '')
#返回 pyt 你输入的内容里有h,h是违规字。
continue语句
与 break 不同,continue 不会退出循环体,而是跳过当前循环块的剩余语句,继续下一轮循环。
a = 'python'
for i in a:
if i == 'h':
print('\t你输入的内容里有h,h是违规字。',end='\t')
continue
print(i,end = '')
#返回 pyt 你输入的内容里有h,h是违规字。 on
pass语句
pass 是空语句,一般用做占位,不执行任何实际的操作,只是为了保持程序结构的完整性。
num_set = [98,94,82,67,58,90,86]
for i in range(len(num_set)):
if num_set[i] < 60:
print("Someone failed!")
else:
pass
#返回 Someone failed!