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