该篇包括3个标题:
第1章 python语言相关概念
第2章 数据的容器
第3章 流程控制与函数
第3章 流程控制与函数,包括条件语句、循环语句、函数等概念的理解与运用。
1、条件语句
If语句
if语句是选取要执行的操作,是Python主要的选择工具,代表Python程序所拥有的大多数逻辑。
程序Ex1:
a=1
b=2
if a+b==3:
print('答案正确')
if 1+1==2 and 3+3==6:
print('答案正确')
if 1+1==3 or 3+3==6:
print('答案正确')
程序Ex2:
name='回锅肉'
if name=='回锅肉':
print('价格20元')
elif name=='水煮肉片':
print('价格25元')
elif name=='水煮鱼':
print('价格30元')
elif name=='辣子鸡':
print('价格35元')
else:
print('菜单里没有这道菜')
2、 循环语句
(1)For循环:
for 变量 in 字符串、列表、字典等:
循环体
• 次数循环、字符循环、列表循环、字典循环
程序Ex3:
for i in range(5): #i从0开始循环
print('现在循环了第{}次'.format(i))
title='大家好,我叫TOM'
for char in title:
print(char)
namelist=['西游记','红楼梦','三国演义','水浒传']
for name in namelist:
print(name)
menulist={'回锅肉':'价格20元','水煮肉片':'价格25元','水煮鱼':'价格30元','辣子鸡':'价格35元'}
for key in menulist:
print('菜品:{}'.format(key))
print('价格:{}'.format(menulist[key]))
print('++++++++++++++++++++++++++++++')
(2)遍历列表中的元素
程序Ex4:
src_list = [12, 45, 3.4, 13, 'a', 4, 56, 'crazyit', 109.5]
my_sum = 0
my_count = 0
for ele in src_list:
# 如果该元素是整数或浮点数
if isinstance(ele, int) or isinstance(ele, float):
print(ele)
# 累加该元素
my_sum += ele
# 数值元素的个数加1
my_count += 1
print('总和:', my_sum)
print('平均数:', my_sum / my_count)
(3)While循环
while循环主要用在不知道循环需要执行多少次的情况。
程序Ex5:
count_i = 0
while count_i < 5:
print('count_i小于5: ', count_i)
count_i += 1
else:
print('count_i大于或等于5: ', count_i)
(4)控制循环
• break语句
程序Ex7:
for i in range(0, 10) :
print("i的值是: ", i)
if i == 2 :
#执行该语句时将结束循环
break
else:
print(‘else块: ’, i) #如果中止循环,else不执行
• continue语句
程序Ex8:
namelist=['西游记','红楼梦','三国演义','水浒传']
for name in namelist:
if name=='三国演义':
continue
print(name)
当循环为‘三国演义’时,跳过后面的代码。Continue只会影响本次循环,不会影响后面的循环。
3、函数
定义函数
def 函数名(参数1,参数2,……)
函数体第一行
函数体第二行
……
return[返回值]
程序Ex9
## 定义一个函数,声明2个形参
#def my_max(x, y) :
# # 定义一个变量z,该变量等于x、y中较大的值
# z = x if x > y else y
# # 返回变量z的值
# return z
def my_max(x, y) :
# 返回一个表达式
return x if x > y else y
a = 6
b = 9
# 调用my_max()函数,将函数返回值赋值给result变量
result = my_max(a , b) # ①
print("result:", result)
没有return、return(),return none三种情形是一样。代码运行到return,函数就会结束。
程序Ex10
def sum_and_avg(list):
sum = 0
count = 0
for e in list:
# 如果元素e是数值
if isinstance(e, int) or isinstance(e, float):
count += 1
sum += e
return sum, sum / count
my_list = [20, 15, 2.8, 'a', 35, 5.9, -1.8]
# 获取sum_and_avg函数返回的多个值,多个返回值被封装成元组
tp = sum_and_avg(my_list) #①
print(tp)
# 使用序列解包来获取多个返回值
s, avg = sum_and_avg(my_list) #②
print(s)
print(avg)