6 函数

时间:2023-02-04 21:07:16
1.编写函数,输出1~100中偶数之和。
def add(a) :
    sum = 0
    for i in range(1, a + 1) :
        if i % 2 == 0:  # 判断是否为偶数
            sum = sum + i

    return sum


print("1-{0}的偶数和={1}".format(100, add(100)))

输出结果:
1-100的偶数和=2550
# 驼峰规则 def EventSum(): sum =0 i =1 while i <= 100: if i%2 == 0: sum = sum + i i = i + 1 return sum print(EventSum())

 

2.编写函数,计算20*19*18*…*3的结果。
def a(num) :
    if num == 2 :
        return 1
    else :
        return num * a(num - 1)


result = a(20)
print("20*19*18*…*3的结果为:", result)

输出结果:
20*19*18*…*3的结果为: 1216451004088320000

 

3.编写函数,判断用户输入的整数是否为回文数。回文数是一个正向和逆向都相同的整数,如123454321、9889。
def hws() :
    num = input("请输入数字判断是否为回文数:")
    if num == num[: :-1] :#
        print("是回文数")
    else :
        print("不是回文数")
    return num


hu = hws()

输出结果:
请输入数字判断是否为回文数:>? 123454321
是回文数
def isPalinerome(n):
    # 切片输出逆序数据
    a = n[::-1]
    return n == a

b = input("请输入一个数据:")
print("数据是回文数", isPalinerome(b))

输出结果:
请输入一个数据:>? 123454321
数据是回文数 True

 

4.编写函数,判断用户输入的三个数字是否能构成三角形的三条边。
# 方法一
# 两边之和大于第三边,两边之差的绝对值小于第三边。
a = float(input("第一条边的长度:"))
b = float(input("第二条边的长度:"))
c = float(input("第三条边的长度:"))
n = ((a + b) > c) + ((b + c) > a) + ((a + c) > b)
if n == 3 :
    print("三角形的三边边长:", a, b, c)
else :
    print("输入有误,输入的三边不能构成三角形!")

输出结果:
第一条边的长度:>? 3
第二条边的长度:>? 4
第三条边的长度:>? 5
三角形的三边边长: 3.0 4.0 5.0

第一条边的长度:>? 1
第二条边的长度:>? 1
第三条边的长度:>? 2
输入有误,输入的三边不能构成三角形!


# 方法二
def sanjiao(a, b, c) :
    if a <= 0 or b <= 0 or c <= 0 :
        print("三角形的边必须大于0")
    elif a + b <= c or b + c <= a or c + a <= b :
        print("不可以构成三角形,两边之和大于应该第三边")
    else :
        print("输入的三条边可以构成三角形")


a = float(input("请输入边长a:"))
b = float(input("请输入边长b:"))
c = float(input("请输入边长c:"))
sanjiao(a, b, c)

输出结果:
请输入边长a:>? 3
请输入边长b:>? 4
请输入边长c:>? 5
输入的三条边可以构成三角形

请输入边长a:>? 2
请输入边长b:>? 1
请输入边长c:>? 6
不可以构成三角形,两边之和大于应该第三边

请输入边长a:>? 2
请输入边长b:>? 0
请输入边长c:>? 1
三角形的边必须大于0
#方法三
def triangle(a, b, c):
    if a + b > c or a + c > b or ((b + c) > a):
        return True
    else:
        return False

b = input("请输入第一条边:")
c = input("请输入第二条边:")
a = input("请输入第三条边")
d = triangle(a, b, c)
if d:
    print("构成三角形")
else:
    print("不构成三角形")


输出结果:
请输入第一条边:>? 3
请输入第二条边:>? 3
请输入第三条边>? 3
构成三角形

请输入第一条边:>? 2
请输入第二条边:>? 1
请输入第三条边>? 5
构成三角形

 

5。编写函数,求两个正整数的最小公倍数。
def lcm(x, y) :
    if x > y :
        greater = x
    else :
        greater = y

    while True :
        if (greater % x == 0) and (greater % y == 0) :
            lcm = greater
            break
        greater += 1

    return lcm


num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "", num2, "的最小公倍数为", lcm(num1, num2))

输出结果:
输入第一个数字: >? 2
输入第二个数字: >? 3
2 和 3 的最小公倍数为 6