Python基础知识_day5_循环_推导式_函数初识

1. for循环和可迭代对象遍历

1.1 形式

for i in 可迭代对象:
    循环体语句  
for x in (10,20,30):
    print(x*30)

1.2 嵌套循环

打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(f'{i}x{j}={i*j}',end='\t')
    print()

1.3 break & continue 语句

break语句可用于while和for循环,用来结束整个循环。

continue语句用于结束本次循环,继续下一次。

while True:
    a = input('请输入一个字符')
    if a.upper() == 'Q':
        print('结束')
        break
    else:
        print(a)

1.4 else语句

while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则会执行else语句,否则不执行。

2. zip()并行迭代

我们可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列"用完"时就会停止。

names = ('alex','john','peter','stephan')
ages = (18,26,20,25)
jobs = ('teacher','engineer','doctor')

for name,age,job in zip(names,ages,jobs):
    print('{}-{}-{}'.format(name,age,job))

3. 推导式

3.1 列表推导式

[表达式 for item in 可迭代对象]

[表达式 for item in 可迭代对象 if 判断条件]

a = [x**2 for x in range(1,5)]
print(a)
# [1, 4, 9, 16]
a = [x**2 for x in range(1,10) if x%2 ==0]
print(a)
# [4, 16, 36, 64]

可以使用两个循环

cells =[(row,col) for row in range(1,10) for col in range(1,10)]
for cell in cells:
    print(cell)

3.2 字典推导式

{key_expression : value_expression for 表达式 in 可迭代对象}

类似于列表推导式,字典推导式也可以增加if条件判断、多个for循环。

  • 练习:统计字符出现的次数
my_text = 'I love my country, I love my family'
dic = {c:my_text.count(c) for c in my_text}
print(dic)

3.3 生成器推导式

生成器是可迭代的对象,只能使用一次

gnt = (x for x in range(4))
for i in gnt:
    print(i)
for i in gnt:
    print(i)
#第二次打印结果为空

4. 函数

4.1 函数的结构

l1 = [1, 2, 3]

def new_len():
    count = 0
    for i in l1:
        count += 1
    print(count)
new_len()
'''
def 关键字: 定义一个函数。紧跟一个空格。
new_len函数名:与变量命名规范一致。一定要具有可描述性。 
():结构需要,传参使用。
    : 分割符。
tab键:四个空格。缩进。函数体

'''

4.2 形参和实参

形参,函数定义时使用

实参,即“实际参数”,调用时使用

def comp(a,b):
    if a>b:
        print(a)
    else:
        print(b)
comp(1,20)

4.3 返回值

  • 第一个作用

  • 结束函数(与while/for循环的break类似),但return只能在函数中用

  • 第二个作用

  • 函数中没有return或者只写一个return,函数的执行者得到的是None

  • 函数中return后面是单个值,函数的执行者得到的是这个值(不改变值的类型

  • 函数中return后面是多个值, 函数的执行者得到的是一个元组

def add(a,b):
    print('计算两个数的和:{}+{} = {}'.format(a,b,a+b))
    return a+b
c = add(10,20) #计算两个数的和:10+20 = 30
print(c) #30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值