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.递归调用的定义 递归调用:在调用一个函数的过程中,直接或间接地调用了函数本身 2.递归分为两类:直接与间接 #直接 def func(): print('from fu ...
- day5:函数练习题
1.写函数,检查获取传入列表或者元祖的对象的所有奇数位索引的元素,并将作为新的列表返回给调用者 #解1: def lis(x): lis_1 = [] for i in range(len(x)): ...
- day5 函数和参数
函数就是最基本的一种代码抽象的方式 定义一个函数使用def语句 def my_abs(x): if x >= 0: return x else: return -x 定义一个什么事也不做的空函数 ...
- 【目录】Python自动化运维
目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...
- python 每周作业
day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...
- Python基础 小白[7天]入门笔记
笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...
- DAY5 python内置函数+验证码实例
内置函数 用验证码作为实例 字符串和字节的转换 字符串到字节 字节到字符串
- python函数和常用模块(三),Day5
递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...
- Python day5 --------递归、匿名函数、高阶函数、内置函数
一.递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归要求: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减 ...
随机推荐
- 前端必须掌握的 docker 技能(2)
概述 作为一个前端,我觉得必须要学会使用 docker 干下面几件事: 部署前端应用 部署 nginx 给部署的 nginx 加上 https 使用 docker compose 进行部署 给 ngi ...
- Jmeter之插件安装
在实际工作中,会用到一些额外的jmeter插件,现在描述其插件的安装. 一.下载plugins-manager.jar 在官网中下载plugins-manger.jar,方便后续其他插件的安装,下载地 ...
- 读取yaml中的内容
def read_yml(path): """ 读取yml文件中的数据 :param path: 文件yaml 的路径 :return: 返回读取yaml文件内的结果 & ...
- LoadRunner之检查点
一.什么是检查点 LoadRunner中检查点是用来判断脚本是否执行成功的.如果不加检查点,只要服务器返回的HTTP状态码是200,VuGen就认为脚本执行通过了.但是很多情况下服务器返回200并不代 ...
- Python学习之==>第三方模块的安装、模块导入
一.模块&包 1.模块 模块实质上就是一个Python文件,它是用来组织代码的.意思就是把Python代码写在里面,文件名就是模块的名称.例如:random.py,random就是模块的名称. ...
- springmvc中获取request对象,加载biz(service)的方法
获取request对象: 首先配置web.xml文件--> <listener> <listener-class> org.springframework.web.con ...
- Web UI自动化测试基础——元素定位(一)
本篇文章整理了元素定位的基础知识——单个元素定位方式. 一.单个元素定位方式简介 1. find_element_by_id 通过元素的id属性进行定位.以百度首页为例,首先进入https://www ...
- 03Java面试题-------------中科软
1.String是最基本的数据类型吗?String和StringBuffer的区别? 不是.Java中的基本数据类型只有8个:byte,short,int,long,float,double,char ...
- Django-DRF组件学习-环境安装与配置与序列化器学习
1.DRF环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展 ...
- Java第二周总结
一.Java 基础程序设计 第一章: (1)在Java中源文件的扩展名为.java,编译Java源程序文件产生相应的字节码文件扩展名为.class (2)public class定义要求类名称保持一致 ...