1.编写两个函数分别按单利和复利计算利息,根据本金,年利率,存款年限得到本息和和利息。调用这两个函数计算1000元在银行存三年,在年利率是6%的情况下,单利和福利分别获得的本溪和和利息。 单利计算是指只有本金计算利息。复利计算是指不仅本金计算利息,利息也计算利息。,也就是通常说的利滚利。
# 单利函数
def simple(x, n):
r = 0.06
interest = x * r * n
total = x + interest
print("单利计算利息为:", interest, "单利计算本息和为:", total)
return interest, total
# 复利函数
def compound(x, n):
r = 0.06
interest = x * (1 + r) ** n
total = interest + x
print("复利计算利息为:", interest, "复利计算本息和为:", total)
return interest, total
c = float(input("请输入存款本金为:"))
d = int(input('请输入存款年份为:'))
r = 0.06
simple(c, d)
compound(c, d)
2.编写函数,判断一个数是否为素数。调用该函数判断从键盘中输入的数是否为素数。素数也称质数,是指只能被1和它本身整除的数。
def function(x):
if x > 2:
for j in range(2, x // 2 + 1):
if x % j == 0:
print(x, "不是素数。")
break
else:
print(x, "是素数")
n = int(input("请输入一个大于1的正整数:"))
function(n)
3.编写函数,求出一个数除了1和自身以外的因子。从键盘输入一个数,调用该函数输出除了1和他自身以外的所有因子。
def function(x):
if x >= 1:
for i in range(1, x):
if x % i == 0:
print(i)
n = int(input("请输入一个整数:"))
function(n)
4.编写函数,判断一个数是否为水仙花数。调用该函数打印出1000以内的所有水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
def function(x):
a = x // 100
b = (x - 100 * a) // 10
c = x - 100 * a - 10 * b
if a ** 3 + b ** 3 + c ** 3 == x:
print(x, end=" ")
print("1000以内的水仙花数为:")
for i in range(100, 1000):
function(i)
5.编写函数求斐波拉契数列的前二十项。斐波拉契数列的第一项和第二项分别是0和1,从第三项开始,每一项都是前两项之和。试用递归函数实现
def function(x):
if x == 1:
s = 0
elif x == 2:
s = 1
else:
s = function(x - 1) + function(x - 2)
return s
for i in range(1, 21):
print("斐波拉契数列的第", str(i), "项为:", function(i))