1.求全部元素的和 [1,2,1,2,3,3,3,3] 遍历
a = [1,2,1,2,3,3,3,3]
sum = 0
n = len(a)-1
while n>=0:
sum += a[n]
n -= 1
2.求偶数元素的和 [1,2,1,2,3,3,3,3]
a = [1,2,1,2,3,3,3,3]
b = []
for i in a:
if i//2 == 0:
b.append(i)
sum = 0
n = len(b)-1
while n>=0:
sum+=b[n]
n-=1
 
3.统计所有数字出现的个数 [1,2,1,2,3,3,3,3] 字典
a = [1,2,1,2,3,3,3,3]
d = {}
for i in a:
d[i]=0
len(d)
4.生成随机的10位小写字母:
import random
[chr(ord('a')+random.randint(1,25)) for i in range(10)]
5.生成随机的10位小写字母:
[chr(ord('A')+random.randint(1,25)) for i in range(10)]
6.生成随机不限定固定大小写个数的10个字母:
lower_num = random.randint(0,10)
uper_num = 10-lower_num
q = []
for i in range(lower_num):
... q.append(chr(ord('a')+random.randint(1,25)))
for m in range(uper_num):
... q.extend(chr(ord('A')+random.randint(1,25)))
...
>>> q
['z', 'g', 'o', 'h', 'c', 'x', 'p', 'u', 'p', 'N']
 
函数
判断小写字母的个数
def count_letter(s):
result = 0
for i in s:
if i >='a' and i <= 'z':
result += 1
return result
判断字符串里面数字的个数
>>> def count_num(s):
... result = 0
... for i in s:
... if i.isdigit():
... result += 1
... return result
def count_letter(s):
result = 0
for i in s:
if i >='0' and i <= '9':
result += 1
return result
 
字符串判断方法:s.isdigit() 判断字符串是否为数字,如果是,返回true
s.isalpha() 判断字符串是否为字母,如果是,返回true
s.isalnum() 判断是否数字和字母的组合,如果是,返回true
 
def add(a,b):
if isinstance(a,(int,float,complex)) and isinstance(b,(int,float,complex)):
return a+b
return None
print(add(1.1,3))
n = 1
def func():
n = 2
return n
print(func())
print(n)
局部变量在函数里面有效,出了函数就没用,函数外面的是全局变量
当函数被定义的时候,删除无效,需要从写函数
内置函数覆盖后,可以删除,无需重写
 
def add(a,b):
return a+b
print(add(1))
Traceback (most recent call last):
File "test.py", line 4, in <module>
print(add(1))
TypeError: add() missing 1 required positional argument: 'b'
参数必须一一对应
def add(a,b=1):
return a+b
print(add(1))
默认值参数,关于参数格式:函数在赋值参数的时候,应该按照顺序给定参数,如果不按顺序,应该给出变量名然后参数;默认参数应该在最后面,后面不能有非默认值
return 可以返回多个值,tuple类型
当函数里有变量没定义时,会找函数外面的变量
n = 1
def func():
return n+1
 
n = 1
def func(n):
n+=1
return n+1
print(func(n))
 
n = []
def func(a):
a.append(1)
return a
print(func(n))
如果函数传入可变类型(list,set,dict)参数,函数内部的操作都会影响传入类型的结果
如果函数传入不可变类型(str,int,float),函数内部操作不会影响传入参数的外部结果
 
可变参数:
def add(a,b,*c):
print(type(c))
print(c)
add(1,2,3,4,5,6,78)
*c 不限制传入参数数量,以tuple形式传入
练习:求总和并返回
def add(a,b,*c):
print(type(c))
print(c)
add(1,2,3,4,5,6,78)
def add(a,b,*c):
sum = 0
for i in c:
sum+=i
return sum+a+b
print(add(1,2,3,4,5,6,78))
 
def add(a,b,**c):
return a,b,c
print(add(1,2,f=3,q=4,w=5,e=6,r=78))
def add(a,b,**c):
result = a+b
for v in c.values():
result+=v
return result
print(add(1,2,f=3,q=4,w=5,e=6,r=78))
def add(a,b,*c,**d):
result = a+b
for i in c:
result += i
for v in d.values():
result+=v
return result
print(add(1,2,2,4,5,f=3,q=4,w=5,e=6,r=78))
关于*和**:* 一般用于存放tuple,**存放字典格式的,*要放在**前面

day5 函数的更多相关文章

  1. Day5 函数递归,匿名、内置行数,模块和包,开发规范

    一.递归与二分法 一.递归 1.递归调用的定义 递归调用:在调用一个函数的过程中,直接或间接地调用了函数本身 2.递归分为两类:直接与间接 #直接 def func(): print('from fu ...

  2. day5:函数练习题

    1.写函数,检查获取传入列表或者元祖的对象的所有奇数位索引的元素,并将作为新的列表返回给调用者 #解1: def lis(x): lis_1 = [] for i in range(len(x)): ...

  3. day5 函数和参数

    函数就是最基本的一种代码抽象的方式 定义一个函数使用def语句 def my_abs(x): if x >= 0: return x else: return -x 定义一个什么事也不做的空函数 ...

  4. 【目录】Python自动化运维

    目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...

  5. python 每周作业

    day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...

  6. Python基础 小白[7天]入门笔记

    笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...

  7. DAY5 python内置函数+验证码实例

    内置函数 用验证码作为实例 字符串和字节的转换 字符串到字节 字节到字符串

  8. python函数和常用模块(三),Day5

    递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...

  9. Python day5 --------递归、匿名函数、高阶函数、内置函数

    一.递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归要求: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减 ...

随机推荐

  1. Stream之filter、distinct、skip、map、flatMap、match、find、reduce

    一.Stream之filter.distinct.skip: package com.cy.java8; import java.util.Arrays; import java.util.List; ...

  2. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_1 Mybatis中编写dao实现类的使用方式-查询列表

    就是自己写实现类的方式来开发 直接finish 把之前写的CRUD的代码复制到过来. 在把之前pom.xml里面的包的依赖也复制过来 复制到当前的pom.xml内 允许自动导入 以上步骤就是复制了一个 ...

  3. GitHub入门(一)GIT配置与Hexo博客搭建

    首先安装配置Git环境,由于本人使用Windows操作系统所以从msysgit.github.io下载msysGit Windows版本,安装.(Mac一般自带Git) 安装的时候一般使用默认选项,其 ...

  4. Slience is the sleep that nourishes wisdom

    cumulative: 积聚的 lag. v. 落后 backfire. n. 事与愿违 segregated. adj. 分隔的 back-and-forth: 来回地 initiative. ad ...

  5. Canvas入门08-绘制仪表盘

    需求 实现下图所示的仪表盘的绘制. 分析 我们先来将仪表盘进行图形拆分,并定义尺寸. 我们绘制的逻辑: 绘制中心圆 绘制环外圈圆 绘制环内圈圆 绘制刻度内圈圆 绘制刻度线 绘制刻度文字 绘制指针 定义 ...

  6. mybatis中resultMap的使用

    在mybatis中,使用<select>标签,必须要设置resultType属性 或 resultMap属性 否则会报错! resultType一般是返回简单类型的查询结果,涉及一张表 可 ...

  7. mybatis使用map传递多参数报错:A query was run and no Result Maps were found for the Mapped Statement

    在使用mybatis进行多参数传递时,报错: A query was run and no Result Maps were found for the Mapped Statement 'xx.xx ...

  8. java8--- Predicate 意义 代码

    //为了去除 DiyInterface 这个函数式接口,可以用通用函数式接口 Predicate 替代如下: https://blog.csdn.net/u011848397/article/deta ...

  9. Mybatis-学习笔记(4)1对1、1对多、多对多

    1.1对1 有2种方式对内嵌Bean设值: 1>关联查询就一条语句.使用association关键字,直接将嵌套对象的映射表的字段赋值内嵌对象. <association property ...

  10. bits,Bytes,KB,MB,GB和TB之间的换算关系

    1Bytes=8bits(1字节等于8位) 1KB=1024Bytes(1KB等于1024字节) 1MB=1024KB 1GB=1024MB 1TB=1024GB 为啥带宽100M而下载大概只是12. ...