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. Python基本语法_异常处理详解

    目录 目录 异常 异常类型 异常处理 触发异常raise 传递异常 assert语句触发异常 捕获异常tryexceptelse 捕捉多个异常 tryfinally语句 自定义异常 withas触发异 ...

  2. Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm

    Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm 当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时 ...

  3. Linux监控命令之==>sar

    一.使用说明 sar 是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及 ...

  4. mysql5.7无法启动原因排查

    前天刚刚拷了同事最新的MySQL5.7,安装成功后运行良好,今天却无法启动,Navicat也无法连接. 开始排查原因: 1.进入dos命令窗口,输入net start mysql启动,提示 百度出现错 ...

  5. MSSQL注入--反弹注入

    明明是sql注入的点,却无法进行注入,注射工具拆解的速度异常的缓慢,错误提示信息关闭,无法返回注入的结果,这个时候你便可以尝试使用反弹注入, 反弹注入需要依赖于函数opendatasource的支持, ...

  6. js五种不同的遍历 (filter, map,foreach,every, some,)

    var arr=[1,2,"a",2,4,1,4,"a",5,6,7,8,"aa","bb","c" ...

  7. Python-自定义函数-参数

    一.自定义函数参数 1.种类 (1)位置参数 "x"就是位置参数 #!/usr/bin/env python # -*- coding: utf-8 -*- #author: di ...

  8. Quartz任务调度的测试Demo1(含有配置文件的demo)

    Quartz是一个作业任务调度的框架,所在项目组中“消息推送模块”使用到此框架,于是写个demo熟悉下quart的用法: 使用Spring框架来集成Quartz的任务调度任务. 1.搭建Spring框 ...

  9. 对C++拷贝构造函数的一点理解

    一. 什么是拷贝构造函数 先看一个简单的例子: #include <iostream> using namespace std; class CExample { private: int ...

  10. CDQ分治总结

    \(CDQ\)分治小结 标签:知识点总结 阅读体验:https://zybuluo.com/Junlier/note/1326395 身为一个资深菜鸡 \(CDQ\)分治一开始学了一晚上,后来某一天又 ...