python——函数

一、定义函数

# 定义函数def say_hello():        print('hello')        print('hi')    # 调用函数,函数被调用之后才会生效say_hello()1234567

二、求和函数

def sum_():        num1 = 2        num2 = 3        result = num1 + num2        print('%d + %d = %d' %(num1,num2,result))sum_()123456

三、函数里嵌套函数

def hello():        print('say hello')        def hi():   # 内函数必须调用才会被使用                print('say hi')    hi()hello()123456

四、形参与实参

# 定义函数的时候定义的变量为形参(名字可以任意)def welcome(a):        print('hello',a) # 真实的数据信息,调用函数的时候传递的参数为实参welcome('lala')welcome('haha')123456

五、四大参数

1、位置参数:
# 1.位置参数:形参和实参个数必须保持一致,最好按位置传参def getInfo(name,age):        print(name,age)    # 调用函数getInfo('haha',11) getInfo(name='lala',age=18)1234567
2、默认参数:
def mypow(x,y=2): # y的默认参数为2        print('乘积为:',x**y )    mypow(3)   # 调用函数时,如果给y赋值,则y就取赋的值,如果没有给y赋值,则y就用默认值mypow(2,4)12345
3、可变参数:、
def mynum(*a):    """    *a 是可变参数    a 是元组数据类型   """      sum = 0        for i in a:                sum += i            print('求和为:',sum)mynum(1,2,3,4,5)123456789
4、关键字参数
def getStuInfo(name,age,**kwargs):        """        **kwargs是一个字典,可以传递任意多的key-value        """        print(name,age)        print(kwargs)getStuInfo('lala','18',subject= ['math','english','chinese'])1234567

六、函数的返回值

返回值:函数运行的结果,还需要进一步操作时,给返回值return用来返回函数执行结果, 如果没有返回值,默认为None,python可以间接返回多个值(返回了一个元组)一旦遇到return,函数执行结束,后面的代码不会执行 。

def mypow(x,y):        return x**y,x+y a,b = mypow(2,3)print('x**y的值为:',a,'\nx+y的值为:',b)1234

七、变量的作用域

(1)局部变量:在函数内部定义的变量,只在函数内部生效,函数执行结束之后,变量自动删除(2)全局变量a=1   # 此处的a表示全局变量print('outside:',id(a))def fun():       # global表示声明局部变量为全局变量     global a        a=5        print('inside:',id(a))fun()print(a)print(id(a))123456789101112

八、练习

1、编写函数,接收一个列表(包含30个1~100之间的随机整型数)和一个整型数k,返回一个新列表函数

需求:
1.将列表下标k之前对应(不包含k)的元素逆序
2.将下标k及之后的元素逆序
[1,2,3,4,5] 2 [2,1,5,4,3]

b = []for i in range(30):        b.append(random.randint(1, 100))print(b)def nixu(b1,k):        if k<0 or k>len(b1):                   return 'Error key'        print(k)        return b1[:k][::-1]+b1[k:][::-1]print(nixu(b,8))  12345678910
2、编写一个函数calculate,可以接收任意多个数,返回的是一个元组,元组的第一个值为所有参数的平均值,第二个值是大于平均值的所有数
def calculate(*a):        sum = 0        b=[]        for i in a:                sum += i            ave = sum / len(a)        for i in a:                if i > sum / len(a):                    b.append(i)        return ave,b print(calculate(1,2,3,4,5))1234567891011
3、编写一个函数,接收字符串参数,返回一个元组,‘hello WORLD’,元组的第一个值为大写字母的个数,第二个值为小写字母个数
def receive(a):        big = 0        small = 0        for i in a:                if i.isupper():                        big+=1                if i.islower():                        small+=1        return big,smallprint(receive(input('请输入字符串:')))12345678910
4、模拟轮盘抽奖游戏

轮盘分为三部分:一等奖,二等奖,三等奖;轮盘转的时候是随机的
如果范围在[0,0.08)之间,代表一等奖
如果范围在[0.08,0.3)之间,代表二等奖
如果范围在[0.3,1)之间,代笔三等奖
模拟本次活动1000人参加,模拟游戏时需要准备各的等级奖品的个数

# 第一种方法import randomdef award(people):        a1=0        a2=0        a3=0        for i in range(people):                num = random.random()                if num < 0.08:                        a1+=1                elif num >= 0.08 and i <0.3:                        a2+=1                else:                        a3+=1        return a1,a2,a3dic = {}people = int(input('请输入参加活动的人数:'))a1,a2,a3 = award(people)dic={'一等奖':a1,'二等奖':a2,'三等奖':a3}print(dic)1234567891011121314151617181920
# 第二种方法: def rewardFun():    """用户得奖等级"""         # 生成一个0~1之间的随机数        num = random.random()        # 判断随机转盘转的是几等奖        for k,v in rewardDict.items():                if v[0] <= num < v[1]:                        return k    resultDict = {}for i in range(1000):         res = rewardFun()         if res not in resultDict:                 resultDict[res] = 1         else:                 resultDict[res] += 1for k,v in resultDict.items():         print(k,v)123456789101112131415161718
4、腾讯笔试题:

题目需求:
对于一个十进制的正整数,定义f(n)为其各位数字的平方和,
如: f(13)=12+32=10 f(207)=22+32
下面给出三个正整数k,a,b,你需要计算有多少个正整数n满足a<=n<=b,
且k*f(n)=n
例如:
输入:51 5000 10000
输出:3

def f(n):        # 先把数字转换为字符串        n=str(n)        # 计算字符串中每个数的平方        sum = 0        for i in n:                sum += int(i) ** 2        return sum    # 接收变量k,a,bs=input('请输入元素:')# 存储整型k,a,bli = []for i in s.split():  # 分离输入的字符串    li.append(int(i)) k,a,b = li # 进行判断是否满足条件count = 0for i in range(a,b+1):        if k*f(i) == i:                print('输出满足条件的数:',i)                count+=1print('统计出来的个数为:',count)12345678910111213141516171819202122232425
(0)

相关推荐

  • Python学习——函数及调用

    经过之前Python学习--十分钟入门Python一文的学习相信大家对于Python都有了大概的了解.这节课芒果带大家一起来学习Python函数. 函数是带名字的代码块,用来完成某项具体任务的.当我们 ...

  • 温故而知新--day1

    变量类型 变量是计算机存储数据的内存空间,由于计算机可以处理不同的数据,不同的数据就要定义不同的数据类型.python的数据类型很多,还可以自定义数据类型,常用的一般数据类型有以下几种: 整型: 在p ...

  • 每日一课 | 详解抽象之函数

    昨天 Python大本营每日一课 大家好,我是营长,上期营长分享了数据科学"的知识点:,不清楚的小伙伴可戳这

  • typing库:让你的代码阅读者再也不用猜猜猜

    Python以其简洁的代码而闻名于世.除了缩进之外,代码样式和文档主要取决于编写应用程序的开发人员的习惯,这可能导致一些混乱,产生难以理解的代码.而这主要是因为Python是一种动态类型语言,请看以下 ...

  • 随机函数讲解python基础原理

    来源:https://www.bilibili.com/medialist/play/watchlater/BV1v4411B71M 功能:随机生成20名学生的成绩,并对比分数取出最高分. impor ...

  • python函数

    当代码越写越长在时,全部放在一块儿会不太好看,也不好找想要的东西.同时,当一段代码需要重复使用时,复制粘贴也不太方便,可以用函数来解决这个问题. 1.函数的定义 在python中,函数的声明和定义是一 ...

  • 如何写一个更好的Python函数?

    Python虽然好用,但用好真的很难. 尤其是函数部分,只要写不好,后面的一连串人都会遭殃. 看又看不懂,测试起来也麻烦,维护又维护不动,真是让人头疼. 那怎么写好一个Python函数呢? <W ...

  • python函数的万能参数

    我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数 def test(*args,**kwargs): print(args,kwargs) 然后定义两个变量 l = [1,2, ...

  • 第5天:Python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础. 函数能提高应用的模块性,和代码的重复利用率.在程序设计中,常将一些常用的功能模块编写成函数 ...

  • 第13天:Python 函数的参数

    定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题. 如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数.关键字参数.形 ...

  • 教你一招 | Python: 函数参数魔法

    函数参数 在 Python 中,定义函数和调用函数都很简单,但如何定义函数参数和传递函数参数,则涉及到一些套路了.总的来说,Python 的函数参数主要分为以下几种: 必选参数 默认参数 可变参数 关 ...

  • 什么是Python函数?内容介绍!

    学习Python的时候我们会接触到很多没有听说过的词汇,比如函数.那么什么是Python函数?定义函数需要遵循哪些原则呢?我们一起来看看吧. 什么是Python函数? Python函数是指组织好的.可 ...

  • 入门必备!面向对象编程之Python函数与类

    来源:数据STUDIO 作者:云朵君 Python支持大多数面向对象编程技术.在Python中所有东西都是对象,包括类.函数.数和模块.它允许多态性,不只是在类层级之内而且通过采用鸭子类型的方式.任何 ...

  • Python 函数 | 菜鸟教程

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  • python函数的参数类型总结

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return语句返回. def power(x, n=2): ...