本次学习了一些关于Python的函数部分,有些部分还是和C语言有些许区别,写此文章以记录自己的学习成果。
1.
定义函数fac(parameter1),函数可
以 实现求 n 的阶乘并返回通过函数调用实现 求 1-4 所有数的阶乘之和并输出
def fac(n):
f=1
for i in range(1,n+1):
f*=i
return f
a=int(input())
print(fac(a))
s=0
for i in range(1,5):
s+=fac(i)
print(s)
2. 使用函数写方程式
(这里的函数传参数可以把x,y,z写上,前边的可以不写,比如写入1,y=2,z=3,但是不能是x=1,2,z=3,这样传不对,可能考试的时候会考到)
还有默认传参。
def polynomial(x,y,z):
s=1+2*x+y*y+z*y
return s
print(polynomial(1,2,3));
3.传入不定参数
但不确定传入的参数是多少时,可以利用*来进行传入(参考代码)
(可以传入元组,列表,字典),*就相当于解压。
而刚才说到的**可以将传进的参数当作字典。
def print_keywords(x,*args):
for i in args:
print (x+i)
return;
print_keywords(1, 1,2,3)
print_keywords([1],[1,2,3])
def sum1(a,b,c,d,e):
return a+b+c+d+e
tup1=(1,2,3,4,5)
ret=sum1(*tup1)
print(ret)
4.
• 定义 函数 sum1() ,函数可以 接收用户输入的若干个整数 ,函数 返回值为这些数中所有偶数的和 。调用函数,分别求 2,1,6,8,9,10,5 所有数的和并输出定义 函数 calScore1() ,函数可 接收某门课程的名称以及若干同学该课程的分数 ,函数 返回最高分和学生名 。调用函数,对以下两组数据进行处理代码中的global是指调用全局变量而不是重新定义局部变量。
s=0
def sum1(*a):
global s
for i in a:
if i%2==0:
s+=i
return s
print(sum1(2,1,6,8,9,10,5))
maxScore=0
name=""
def calScore1(course,**a):
global maxScore
global name
for k,v in a.items():
if v>maxScore:
name=k;
maxScore=v
return course,name,maxScore
print(calScore1('数学',tom=90,jack=93))
5.简单提一嘴这个lambda函数
这个可以极大的省略代码量
polynomial=lambda x,y,z:1+2*x+y*y+z*y
print(polynomial(1,2,3))