本节概要
本节将详细的讲解条件语句和循环语句的原理和用法
条件语句
定义:Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块
一、单条件语句
语法格式:
if condition_1:
statement_block_1 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
elif condition_2: 如果 "condition_1" 为False,将判断 "condition_2"
statement_block_2 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
else: 如果 "condition_2" 为False,将执行"statement_block_3"块语句
statement_block_3
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
例子:
age=int(input("输入你的年纪:"))
if age<=10:
print("你还是儿童")
elif 10<age<=16:
print("你还是青少年")
elif 16<age<=30:
print("你是青年人了")
elif 30<age<=60:
print("你是中年人了")
elif 60<age<=100:
print("你是老年人了")
else:
print("你是死人了")
>>>>35
>>>>你是中年人了
二、嵌套条件语句
语法格式:
if 表达式1:
执行语句
if 表达式2:
执行语句
elif 表达式3:
执行语句
else:
执行语句
elif 表达式4:
执行语句
else:
执行语句
例子:
num=int(input("输入一个数字:"))
if num%2==0:
if num%3==0:
print ("你输入的数字可以整除 2 和 3")
else:
print ("你输入的数字可以整除 2,但不能整除 3")
else:
if num%3==0:
print ("你输入的数字可以整除 3,但不能整除 2")
else:
print ("你输入的数字不能整除 2 和 3")
>>>>6
>>>>你输入的数字可以整除 2 和 3
循环语句
Python中的循环语句有 for 和 while。
while循环语句
1、一般的while循环
语法格式:
while 判断条件:
执行语句
例子
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
>>>>1 到 100 之和为: 5050
2、while 循环使用 else 语句
定义:在 while … else 在条件语句为 false 时执行 else 的语句块
例子:
count = 0
while count < 5:
print (count,end=",")
count = count + 1
else:
print (count)
>>>>0,1,2,3,4,5
for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
一般格式:
for <-variable> in <-sequence>:
<-statements->
else:
<-statements>
1、range()函数循环
例子:
for i in range(5):
print(i,end=",")
>>>>0,1,2,3,4
2、列表的循环
例子:
list=[9,5,3,28]
for i in list:
print(i,end=",")
>>>>9,5,3,28
3、字典的循环
例子:
info = { 'M001':"sanxing", 'M002':"pingguo", 'M003':"xiaomi"}
for i in info:
print(i,info[i],end=",")
>>>>M001 sanxing,M002 pingguo,M003 xiaomi,
4、enumerate() 函数循环
例子:
for i in enumerate([9,5,3,28]):
print(i,end=",")
>>>>(0, 9),(1, 5),(2, 3),(3, 28),
5、字符串循环
例子:
for i in "enumerate":
print(i,end=",")
>>>>e,n,u,m,e,r,a,t,e,s,
控制循环的关键字
1、break关键字
定义:可以跳出 for 和 while 的循环体
for例子:
for i in "enumerate":
if i=='m':
break
print(i,end=",")
>>>>e,n,u,
while例子:
var = 5
while var > 0:
print ( var,end=",")
var = var -1
if var == 3:
break
>>>>5,4,
2、continue关键字
定义:用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环
for例子:
for i in "enumerate":
if i=='e':
continue
print(i,end=",")
>>>>n,u,m,r,a,t,
while例子:
var = 5
while var > 0:
var = var -1
if var == 3:
continue
print ( var,end=",")
>>>>4,2,1,0,
条件语句和循环语句的结合
product_list = [("苹果",2332),("三星",1111),('奔驰',10000),('口香糖',12),]
Gong_Zi = input('请输入你的工资:')
Gou_Wu_Che = []
if Gong_Zi.isdigit():
Gong_Zi = int(Gong_Zi)
while True:
for index,BianHao in enumerate(product_list):
print(index,BianHao)
Xuan_Hao = input("请选择产品:")
if Xuan_Hao.isdigit():
Xuan_Hao = int(Xuan_Hao)
if Xuan_Hao < len(product_list) and Xuan_Hao >= 0:
if product_list[Xuan_Hao][1] <= Gong_Zi:
Gou_Wu_Che.append(product_list[Xuan_Hao])
Gong_Zi = Gong_Zi - product_list[Xuan_Hao][1]
print(Gong_Zi)
else:
print("你的还差:", product_list[Xuan_Hao][1] - Gong_Zi)
else:
print("找不到该产品请重新输入")
elif Xuan_Hao == 'Q':
print('list ptis'.center(50,'-') )
for p in Gou_Wu_Che:
print(Gou_Wu_Che)
print("余额为:",Gong_Zi)
exit()
else:
print("你输入的有误")