Python练习题 定义函数求阶乘

1.定义函数求阶乘:要求对参数进行判断,对合法的参数求阶乘,参数零的阶乘返回1,并在参数为负数时输出None(注意负数没有阶乘)
2.给定一个整数列表nums和一个目标值target,请你在该列表中找出和为目标值的那两个整数,并返回它们的列表下标。你可以假设每种输入只会对应一个答案,但是,列表中同一个元素在答案里不能重复出现。

def frac(n):
    r = 1
    if n<=1:
        if n==0 or n==1:
            return 1
        else:
            return None
    else:
        for i in range(1, n+1):
            r *= i
        return r

print(frac(5))
print(frac(6))
print(frac(0))
print(frac(-1))

img



def solution(nums,target):
    #如果列表长度小于2,则直接结束
    if len(nums) < 2:
            return
    #两次循环列表,分别对列表中的所有可能的数字进行相加
    #循环两次列表对应的时间复杂度为O(n²)
    for i in range(0, len(nums) - 1):
        for j in range(i+1, len(nums)):
            if nums[i] + nums[j] == target:
                return [i, j]

print(solution([1,5,6,7,8],12))
a=input()
sum = 1
try:
    a=int(a)
except Exception as e:
    print('Invalid Input')
    exit()
try:
    assert a>=0
    if a==0:
        print(0)
    else:
        for i in range(1,a+1):
            sum*=i
        print(sum)
except Exception as e:
    print('None')