简单函数
生成三位数
def f1(a,b=0,c=0): #默认指定参数
return a*100+b*10+c
>>> f1(2,1,3)
213
===========================
累加
def total_add(a,b):
result = 0
for num in range(a,b+1):
result += num
return(result)
def total_add2(a,b):
result = (a+b)*(b-a+1)/2
print(result)
"""
默认对数据进行浮点数处理
若要保证整数,要用int 或 // 整除
"""
>>> total_add(2,10)
54
===========================
阶乘
# factorial
def factorial(n):
product = 1
for i in range(1,n+1):
product *= i
return(product)
print(product)
*注意return与print前面空格的位置
>>> factorial(5)
120
==================================
a,b之间所有数的连乘
def product(a,b):
sums = 1 # 只在函数体内起作用 是局部变量
for i in range(a,b+1):
sums = sums *i
return(sums) # 此时sums已经消失了 所以不能用print
>>> product(2,5)
120
====================================
a到b之间所有素数的连乘 否则输出0
# a到b之间所有素数的连乘 否则输出0
# edit
import math
def product(a,b): #打印a,b之间素数的连乘
sums = 1
if a>b:
a,b = b,a
for i in range(a,b+1):
if is_prim(i):
sums *= i
if sums == 1:
return 0
return sums
def is_prim(num): #判断素数
is_prime = True
for i in range(2,int(math.sqrt(num))+1):
if num%i==0:
is_prime = False
break
if is_prime and num!=1:
return True
else:
return False
*函数的封装
>>> product(2,8)
210