python   练习题

265 阅读2分钟

1 求一个数的阶乘之和

def fec(n):
	x = 1
	for i in range(n,0,-1):
		x *= i
	return x


def fec_add(n):
	y = 0
	for i in range(n,0,-1):
		y += fec(i)
	return y

print(fec_add(5**))

函数内存地址

参考网址: www.pythontotur.com

def func1(a):
	print (id(a)) #4547574560
	a = 100
	print (id(a)) #4547574560

x = 1
print(id(x)) #44547577728
func1(x)
print(x) #1
print(id(x)) #4547574560
#--------------------------------------------------------------------------------------
def func1(a):
	print (id(a)) #140337923450752
	a[0] = 100
	print (id(a)) #140337923450752

x = [1,2,3,4,5,6]
print(id(x)) #140337923450752
func1(x)
print(x) #[100, 2, 3, 4, 5, 6]
print(id(x)) #140337923450752

回调函数

from even import *

#中间函数
#接受一个生成偶数的函数作为参数
#返回一个奇数
def getOddNumber(k, getEvenNumber):
    return 1 + getEvenNumber(k)
    
#起始函数,这里是程序的主函数
def main():    
    k = 1
    #当需要生成一个2k+1形式的奇数时
    i = getOddNumber(k, double)
    print(i)
    #当需要一个4k+1形式的奇数时
    i = getOddNumber(k, quadruple)
    print(i)
    #当需要一个8k+1形式的奇数时
    i = getOddNumber(k, lambda x: x * 8)
    print(i)
    
if __name__ == "__main__":
    main()

continue & break

product_scores = [99,6,7,33,4,99,89]
for i in range(len(product_scores)):
    if procuct_scores[i] >= 75:
        continue
    print("第{0}个产品,分数为{1},不合格".format(i,product_scores[i]))
product_scores = [99,6,7,33,4,99,89]
 count = 0
for i in product_scores:
    if procuct_scores[i] < 75:
        i+=1
    if i ==2:
        print("本批次产品不合格")
 else:
     print(“本批次产品合格”)

while 循环

not_read = ["红楼梦","s水浒传","三国志","西游记"]
have_read =[]

while not_read:
    book = not_read.pop()
    have_read.appdend(book)
    print("我已经读过{}了".format(book))