python学习第二天

python函数
1.调用函数
函数网站:http://docs.python.org/3/library/functions.html#abs
2.定义函数
定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回
如果想定义一个什么事也不做的空函数,可以用pass语句
函数参数说明
*会把接收到的参数形成一个元组,而**则会把接收到的参数存入一个字典
demo例子

def product(x, *y):
  a=0
  for i in(y):
      if x=='+': a=y[0]+y[1]
      elif x=='-':a=y[0]-y[1]
      elif x=='*':a=y[0]*y[1]
      elif x=='/':a=y[0]/y[1]
      else: return '输入错误'
      return a;
#  *会把接收到的参数形成一个元组,而**则会把接收到的参数存入一个字典
print(product(str(input('输入符号 + - * /')),float(input('第一个数字')),float(input('第二个数'))));

汉诺塔游戏demo

def move(n, a, b, c):   

    if n==1:

        print(a,'-->',c)

    else:

        move(n - 1, a, c, b)

        move(1, a, b, c)

        move(n - 1, b, a, c)

move(3,'A','B','C')

3.切片
L[:] 表示复制一个L的list
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3
4.迭代
判断是否可迭代isinstance(‘abc’, Iterable)
① for i in list

 for key in d:
     print(key)

② enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身

 for i, value in enumerate(['A', 'B', 'C']):
 print(i, value)

4.列表生成式

[x * x for x in range(1, 11)]

5.生成器
第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator在这里插入图片描述
第二种 把fib函数变成generator,只需要把print(b)改为yield b就可以了
在这里插入图片描述
在这里插入图片描述
demo

def triangles():

    L=[1]

    while True:

        yield L[:]

        L.append(0)

        L = [ L[i]+ L[i-1] for i in range(len(L))]

n = 0
results = []
for t in triangles():
    results.append(t)
    n = n + 1
    if n == 10:
        break

for t in results:
    print(t)

    if results == [
    [1],
    [1, 1],
    [1, 2, 1],
    [1, 3, 3, 1],
    [1, 4, 6, 4, 1],
    [1, 5, 10, 10, 5, 1],
    [1, 6, 15, 20, 15, 6, 1],
    [1, 7, 21, 35, 35, 21, 7, 1],
    [1, 8, 28, 56, 70, 56, 28, 8, 1],
    [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
]:
        print('测试通过!')
    else:
         print('测试失败!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值