Python基础:函数
#输入两个数,求他们之间所有的质数,把这些质数放在一个列表里,求出他们的和,并输出他们的最大最小值
a=int(input("请输入第一个数"))
b=int(input("请输入第二个数"))
c=[]
while a<b:
i=2
while i<a:
if a%i==0:
print("%d不是质数"%a)
break
i+=1
else:
print("%d是质数"%a)
c.append(a)
a+=1
print(c)
n=0
sum=0
while n<len(c):
if n==0:
max=c[n]
min=c[n]
else:
if max<c[n]:
max=c[n]
elif min>c[n]:
min=c[n]
sum+=c[n]
n+=1
print(sum,max,min)
# for j in range(a,b):# for i in range(2,j):# if j%i==0:# print("%d不是质数"%j)# break# else:# print("%d是质数"%j)# c.append(j)# print(c)# sum=0# for n in range(len(c)):# if n==0:# max=c[n]# min=c[n]# else:# if max<c[n]:# max=c[n]# elif min>c[n]:# min=c[n]# sum+=c[n]# print(sum,max,min)
#函数
def dylc():
print("1楼:化妆品")
print("2楼:男装")
print("3楼:女装")
print("4楼:童装")
print("5楼:家电")
floor=int(input("请输入楼层"))
if floor==1:
print("西单%d楼欢迎您"%floor)
dylc()
print("您现在在%d楼"%floor)
elif floor==2:
print("西单%d楼欢迎您"%floor)
dylc()
print("您现在在%d楼"%floor)
elif floor==3:
print("西单%d楼欢迎您"%floor)
dylc()
print("您现在在%d楼"%floor)
elif floor==4:
print("西单%d楼欢迎您"%floor)
dylc()
print("您现在在%d楼"%floor)
elif floor==5:
print("西单%d楼欢迎您"%floor)
dylc()
print("您现在在%d楼"%floor)
def dylc():# print("1楼:化妆品")# print("2楼:男装")# print("3楼:女装")# print("4楼:童装")# print("5楼:家电")# a=["一","二","三","四","五"]# floor=int(input("请输入楼层"))# print("西单%d楼欢迎您"%floor)# dylc()# print("您现在在{}楼".format(a[floor-1]))
def sum(a,b):#a,b是形参c=a+bprint("%d+%d=%d"%(a,b,c))sum(1,2)#1,2是实参sum(4,5)
def sum(a,b):c=a+breturn cx=sum(5,6)print(x)if x>10:print("大于10")else:print("小于10")
def jisuan(a,b):c=a+bd=a-be=a*bf=a/breturn c,d,e,fx=jisuan(5,6)print(x)a,b,c,d=jisuan(3,4)print(a,b,c,d)
# 不可变类型参数:整数、字符串、元组。fun(a)内部修改 a的值,只是修改另一个复制的对象,不会影响 a 本身。# 可变类型:列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响def hs(a):a+=2b=4hs(b)print(b)print(hs(b))def hs(a):a+=2return aprint(hs(b))
def kb(a):a.append(3)b=[]kb(b)print(b)
def pt(name,age,sex):#关键字参数print("我叫",name)print("年龄",age)print("性别",sex)pt(sex="女",name="张三",age=18)
def pt(name,age,sex="男"):#默认参数print("我叫",name,end="\t")print("年龄",age,end="\t")print("性别",sex)pt("张三",18)pt("李四",20)pt("王五",30,sex="男")pt("小红",19,sex="女")
def pt(*args):#可变参数print(args)for x in args:print(x,end=" ")print()pt(1,2,3)pt("a","b","c","abc")
def pt(**args):#*args为元组类型,**args为字典类型print(args)for k,v in args.items():print(k,v,end="\t")print()pt(name="张三",age=18,sex="男")pt(name="李四",age=20,sex="女",address="北京")
def sxh(a,b,sex="nan"):#位置参数必须在默认参数左边print(a,b,sex)sxh(1,2)
def sxh(a,b,d=[]):#默认参数一定要用不可变参数,不然会有逻辑错误d.append("x")print(d)sxh(1,2)sxh(10,20)
#函数的嵌套def waibu():print("1111")def neibu():print("2222")neibu()#在此调用内部函数waibu()
# 全局变量,局部变量
a=0#全局变量def hs():a=2#局部变量print(a)hs()print(a)#当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用,在其他地方全局变量起作用
a=[]def hs():a.append(2)hs()print(a)#如果全局变量是可变的数据类型,函数可以对全局变量内部直接进行修改hs()print(a)
a=3def hs():a=a+5#会报错,因为此处两个a都是局部变量,第二个a没有赋值,所以无法将a+5赋值给ahs()print(a)#函数优先读取局部变量,能读全局变量,无法对全局变量重新赋值操作
a=3def hs(a):a=a+5#此处的两个a都是局部变量print(a)hs(a)print(a)
a=3def hs():print(a)#此处报错,因为只要函数中出现了局部变量,就全都是局部变量先print(a)时还没有给a赋值,所以print的a是还没有被声明的局部变量a=4hs()print(a)
a=3def hs():global a#声明此处使用的是全局变量a,可以对其进行修改a=5print(a)hs()print(a)
def waibu():a=30def neibu():nonlocal a#nonlocal关键字使用外层(非全局)变量。a=40print(a)neibu()print(a)waibu()
a=3def waibu():a=30def neibu():nonlocal a#nonlocal关键字使用外层(非全局)变量。a=40print(a)neibu()print(a)waibu()
#变量的查找顺序 从里向外查找#作用域局部>外层作用域>当前模块中的全局>python内置作用域;#LEGB:# L:LOCAL:局部# E:ENCLOSE:嵌套(外层)作用域# G:GLOBAL:全局# B:BUILT-IN:内置
a=300b=20c=1def waibu():b=200c=10def neibu():c=100print(c)#局部变量print(b)#嵌套作用域(外层作用域)print(a)#全局变量print(max)#内置作用域neibu()waibu()
#递归:如果一个函数在内部调用自身本身,这个函数就是递归函数。
def jc(n):#阶乘if n==1:return 1else:return n*jc(n-1)print(jc(10))
def fbnq(n):if n==1 or n==2:return 1else:return fbnq(n-1)+fbnq(n-2)for i in range(1,13):print("第%d个月的兔子数是"%i,fbnq(i))
# 递归特性:# 1. 必须有一个明确的结束条件# 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少# 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,# 每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
# 匿名函数:用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。lambda函数的语法只包含一个语句x=lambda x:x*2+3print(x(3))y=lambda a,b:a*2+b*3print(y(3,4))
a={"name":"张三","age":18,"addr":"北京"}x=lambda b:b["age"]print(x(a))
print(abs(-4))#abs:取绝对值a=[1,21,-22]b=max(a,key=abs)#abs在这里是参数不是函数,意思是用键(key)的方式比较a中的最大值,但是a中的每个元素的值不变print(b)print(a)
a=[-2,-3,1,9,4]a.sort(key=abs)#以key的方式对a排序print(a)
a=[{"name":1,"age":15,"address":"上海"},{"name":2,"age":25,"address":"北京"},{"name":3,"age":35,"address":"河北"},{"name":4,"age":45,"address":"山东"}]b=max(a,key=lambda x:x["age"])print(b)
i=10def a(x):print(x*i)#此时函数还没有调用i,所以i不是10而是30i=20def b(x):print(x*i)i=30def c(x):print(x*i)a(3)b(3)c(3)
a=[lambda x:x*i for i in range(3)]#不执行lambda x:x*i函数,但是执行for i in range(3)print(a[0](3))#x=3,i=2,执行a中的函数,此时a中的for语句循环结束,i=2.print(a[1](3))#x=3,i=2print(a[2](3))#x=3,i=2
Python基础:函数相关推荐
- Python基础-函数,高阶函数
Python基础-函数 1.函数的定义和函数的执行流程: """ 函数学习 """print('程序开始') a = 10 # 在内存中申请 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- python基础函数及用法意思_Python基础之函数基本用法与进阶详解
本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...
- Python基础函数学习笔记(一)
今天晚上学习的内容是Python的一些基础函数及其应用.参考书籍--<Python计算域编程实践-多媒体方法>第二章. 主要函数有print def ord abs pickAFile m ...
- python基础函数大全pdf,python函数大全及使用
Python的函数都有哪些? Python 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数, ...
- python基础--函数
#python中函数的定义:函数是逻辑结构化和过程化的一种编程方法,用来实现某些特定的功能.#python中函数简单定义的方法# def test(x):# "this is new fun ...
- Python 基础 函数
python 什么是函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. python 函数的调用 Python内置了很多有用的函数,我们可以直接调用. 要调用一个 ...
- Python基础(函数)
函数就是把具有独立功能的代码块封装成一个小模块,可以直接调用,从而提高代码的编写效率以及重用性, 需要注意的是, 函数需要被调用才会执行, 而调用函数需要根据函数名调用 函数的定义格式: def 函数 ...
- 打卡day07 python基础—函数
def 和 return 是关键字(keyword)python 就是靠识别这些特定的关键字来明白用户的意图 # 1.创建和调用函数 """ 我们创建了一个函数,但是从来 ...
- Python基础——函数(二)
文章目录 函数和过程 函数变量的作用域 局部变量 全局变量 global关键字 内嵌函数(内部函数) 闭包(closure) lambda表达式 两个常用BIF:filter()和map() 函数和过 ...
最新文章
- PCL中点云数据格式之间的转化
- 英特尔北京2022年冬奥会体验中心落成
- CVPR 2021 | 基于帧场学习的多边形建筑提取
- Linux下集群技术应用概述
- python编写剪刀石头布游戏_闲着也是闲着:PYTHON 编写剪刀石头布游戏
- unity 创建图片ui_在 Unity中 将游戏数据储存至本地文档
- shell日期处理函数
- python chmod 批量 os_Python3 os.lchmod() 方法
- 【实例解析】大型服装集团BI决策系统的分析主题模块
- 39页第五题计算数列之和
- 历史 微信开发者工具_微信开发者工具-微信开发者工具下载 v1.03.2011120官方版--pc6下载站...
- linux命令iconv_Linux中iconv命令的简介和使用方法
- Chrome浏览器护眼插件
- js采集图片批量下载
- 重磅!汇新云88会员节福利大放送
- pandas警告SettingWithCopyWarning: A value is trying to ...原理和解决方案
- 2018逻辑思维跨年演讲之《时间的朋友》总结
- 哪款蓝牙耳机适合运动的时候戴?佩戴舒适的蓝牙耳机推荐
- 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1
- 三十四、Zabbix-触发器、动作及邮件报警