Python 函数作业 2021-4-2

注:gamma()函数,对于gamma(n+1)计算n的阶乘
map()函数:返回迭代器,题三记得list()
Python参数传递时不构造新数据对象,而是让形参和实参共享同一对象

#题一:(这个方法不太好,时间复杂度高,运行太慢)
def fun(x):
    sum=0
    for i in range(1,x):
        if x%i==0:
            sum+=i
    return sum

ls=[]
n=int(input())
for i in range(1,n+1):
    for j in range(i+1,n+1):
        if fun(i)==j and fun(j)==i:
            print(fun(j),fun(i))
            ls.append((i,j))
ls.sort(key=lambda x:x[0])
for a,b in ls:
    print("{} {}".format(a,b))


#改进:
def fun(x):
    sum=0
    for i in range(1,x):
        if x%i==0:
            sum+=i
    return sum

ls=[]
n=int(input())
for i in range(1,n+1):
        t=fun(i)
        if t>i and t<=n and fun(t)==i:
            
            ls.append((i,fun(i)))
ls.sort(key=lambda x:x[0])
for a,b in ls:
    print("{} {}".format(a,b))
'''
#题二:
#1:
from math import gamma
n=int(input())
sum=0
for i in range(1,n+1):
    sum+=gamma(i+1)
print(int(sum))
'''
#2:
def gamma(x):
    t=1
    for i in range(1,x+1):
        t*=i
    return t

n=int(input())
sum=0    
for i in range(1,n+1):
    sum+=gamma(i)
print(sum)
#题三:
#map()函数:返回迭代器,在这里我应该要加一个list,别老忘
ls=list(map(int,input().split(',')))

t=1

for i in ls:
    t*=i
print(t)
#题四:
'''
x=input()
y=input()
t=x.replace(" ",y)
print(t)
'''
ls=input().split()
y=input()

t=len(ls)
d=ls[0]

for i in range(1,t):
    d+=y+ls[i]
    
print(d)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值