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