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. 测开之路一百三十八:会话管理之session

    session管理和使用,需要用到flask的session模块和设置安全码:app.secret_key 比如列表页和编辑功能只能给admin用 列表页 编辑页 添加session 登录成功时,把u ...

  2. 【漏洞复现】永恒之蓝 ms17-010 漏洞利用 攻击手法

    日期:2018-07-21 21:09:16 介绍:永恒之蓝利用的 ms17-010 漏洞,拿 Shell.查看文件.获取密码. 0x01.实验环境 攻击机 系统:macOS Sierra 10.12 ...

  3. cannot assign to struct field xxx in map

    golang 中对 map 类型中的 struct 赋值报错 type s struct{ name string age int}func main(){ a := map[string]s{ &q ...

  4. struts2 2.5.16 通配符方式调用action中的方法报404

    1.问题描述 在struts.xml中配置用通配符方式调用action中的add()方法,访问 http://localhost:8080/Struts2Demo/helloworld_add.act ...

  5. Java ——运算符

    本节重点思维导图 递增递减 前缀自增自减法(++a,--a): 先进行自增.减运算,再进行表达式运算 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增.减运算 例[1]: int a ...

  6. python获取csv文本的某行或某列数据

    #coding = 'utf-8' import csv # 使用list,只能读取列,而且是全文读取,csv.reader会自动把CSV内容生成数组 ''' df = csv.reader(open ...

  7. 【ABAP系列】SAP ABAP 取两个内表的交集 比较两个内表的不同

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 取两个内表的交 ...

  8. 【Linux开发】【Qt开发】tslibs的配置(触摸屏没有,HDMI屏幕):Qt界面响应USB鼠标

    s3c2416   linux qt4.x 由于触摸屏坏了,板子只能用鼠标了,结果以前可以用的现在鼠标突然不能用了 为此交叉编译了qt的多个版本,也换过根文件系统,以为是tslib版本的问题,却发现q ...

  9. DateHandler日期处理工具(JSP中使用后台工具类)

    1.DateHandler.java package Utils.dateHandler; import java.text.ParseException; import java.text.Simp ...

  10. c++多线程并发学习笔记(1)

    共享数据带来的问题:条件竞争 避免恶性条件竞争的方法: 1. 对数据结构采用某种保护机制,确保只有进行修改的线程才能看到修改时的中间状态.从其他访问线程的角度来看,修改不是已经完成了,就是还没开始. ...