python函数练习

# 递归方法求s=1+2+3+...+n结果
#数据过大栈区内存会占满显示栈溢出报错
def sum(n):
    if n==1:
        return 1
    return n+sum(n-1)
print(sum(600))
#编写函数判断一个整数是否为回文数,即正向和逆向都相同,如12321
#无参数函数
def reverseNum():
    str_a = input("请输入一个整数,可判断其是否为回文数:")
    list_a = []
    str_b = ''
    for i in str_a:
        list_a.append(i)
    list_a.reverse()
    for i in range(len(list_a)):
        str_b += list_a[i]
    if (int(str_a) == int(str_b)):
        print(str_a,"是一个回文数")
    else:
        print(str_a,"不是一个回文数")
reverseNum()
#编写函数,求三个数种最大值
def maxNum():
    list_a = []
    a = eval(input("请输入第一个数字:"))
    b = eval(input("请输入第二个数字:"))
    c = eval(input("请输入第三个数字:"))
    list_a.append(a)
    list_a.append(b)
    list_a.append(c)
    list_a.sort()
    list_a.reverse()
    print("最大数为:",list_a[0])
def maxNum1(a, b, c):
    list_a = []
    list_a.append(a)
    list_a.append(b)
    list_a.append(c)
    list_a.sort()
    list_a.reverse()
    print("最大数为:", list_a[0])
maxNum1(1,2,3)
maxNum()
# 编写程序实现将十进制数转化为二进制数
def tenToTwo(num):
    result=''
    if num > 0:
        result = tenToTwo(num // 2)
        return result + str(num % 2)
    else:
        return result
print(tenToTwo(10))
#编写函数,接受两个正整数作为参数,返回一个元组,
# 其中第一个元素为最大公约数,第二个元素为最小公倍数
def returnTuple(a,b):
    list_a = []
    temp = 0
    x = a
    y = b
    if (a < b):
        (a, b) = (b, a)
        while a % b != 0:
            temp = a % b
            a = b
            b = temp
    a = int(x*y/b)
    list_a.append(b)
    list_a.append(a)
    tuple_a = tuple(list_a)
    print(tuple_a)
returnTuple(3,4)

你可能感兴趣的:(Python,python,算法,递归)