Python练习三

1. 如果一个正整数等于除它本身之外其它所有除数之和,就称之为完全数。

输出10000以下的完全数

for i in range(1, 10000):
    sum = 0
    for j in range(1, i):
        if i % j == 0:
            sum += j;
    if sum == i:
        print("10000以下的完全数:",i)

结果:

10000以下的完全数: 6
10000以下的完全数: 28
10000以下的完全数: 496
10000以下的完全数: 8128

2. 输入n的值,求出n的阶乘。

s=1
n = int(input("请输入要计算的数:"))
for i in range(1,n+1):
     s=s*i
print("n的阶乘数:",s)

#递归算法

n=int(input("请输入要计算的数:"))
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print("n的阶乘数:",fact(n))

结果:

请输入要计算的数:9
n的阶乘数: 362880

3.某国现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?

people_num = 13
year_count = 0
while 1:
    if people_num>=26:
        break
    people_num=people_num*(1+0.008)
    year_count=year_count+1
print(year_count,"年后达到26亿")

结果:

87 年后达到26亿

4. 求1!+2!+3!+4!+5!的和。

sum=1
count=0
for i in range(1,6):
        sum=i*sum
        count=count+sum
print("1!+2!+3!+4!+5!的和:",count)

结果:

1!+2!+3!+4!+5!的和: 153

5. 图书批发商店的某本书的零售价是26.5元/本,

如果客户一次性购买100本以上(包括100本),则每本的价格打9折,

如果客户一次性购买500本以上(包括500本),则每本的价格打8折并返回1000元给客户,

请分别计算购买8本、150本、600本的应付金额是多少。

要求购买书的数量从控制台输入。

num=int(input("请输入购买的书本数:"))
if num<100:
    total=26.5*num
elif num<500:
    total=26.5*num*0.9
else:
    total=26.5*num*0.8-1000
print("应付:",str(round(total,1)))

结果:

请输入购买的书本数:8
应付: 212.0
请输入购买的书本数:150
应付: 3577.5
请输入购买的书本数:600
应付: 11720.0

你可能感兴趣的:(python,python)