综合练习题
程序员文章站
2022-04-03 22:34:41
...
1.题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字
from functools import reduce
num = int(input('num:'))
n = int(input('要循环的次数:'))
sum_num = [] # 初始化数列
a = 0 # 初始化叠加后的数
for i in range(n):
a = a + num
num = num * 10
sum_num.append(a)
print('创建的数列为:', sum_num)
sum_num = reduce(lambda x, y: x + y, sum_num)
print('计算的和为:', sum_num)
2.题目:判断101-200之间有多少个素数,并输出所有素数
num = 0
for i in range(101, 201):
n = 0
for j in range(2, i):
if i % j == 0:
n += 1
if n == 0:
print(i)
num+=1
print('共有%d个素数'%(num))
3.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%;
高于100万元时,超过100万元的部分按1%提成;
从键盘输入当月利润I,求应发放奖金总数?
I = float(input("请输入本月利润:"))
if I <= 100000:
print('奖金=%.1f' % (I * 0.1))
elif 100000 < I < 200000:
print('奖金=%.1f' % (100000 * 0.1 + (I % 100000) * 0.075))
elif 200000 < I < 400000:
print('奖金=%.1f' % (100000 * 0.1 + 100000 * 0.075 + (I % 200000) * 0.05))
elif 400000 < I < 600000:
print('奖金=%.1f' % (100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (I % 400000) * 0.03))
elif 600000 < I < 1000000:
print('奖金=%.1f' % (100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (I % 600000) * 0.015))
elif I > 1000000:
print('奖金=%.1f' % (
100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I % 1000000) * 0.01))
4.累加和类型程序:
1). 求f=1+2+...+9【很简单的问题】
sum = 0
for i in range(1, 10):
sum = sum + i
print('sum=', sum)
2). 求f=1-2+3-4+…+9【在(一)的基础上,学习如何一正一负地累加】
sum1 = 0
for i in range(1, 10):
if i % 2 == 1:
sum1 = sum1 + i
else:
sum1 = sum1 - i
print('sum1=', sum1)
3). 求f=1-1/2+1/3-1/4+...+1/9【在(二)的基础上,被加数成了自然数的倒数】
sum2=0
for i in range(1,10):
if i % 2==1:
sum2=sum2+1/i
else:
sum2=sum2-1/i
print('sum2=%.1f' %sum2)
4). 求f=1!-2!+3!-4!+...+9!【在(二)的基础上,被加数成了自然数的阶乘】
sum3 = 0
for i in range(1, 10):
if i % 2 == 1:
x = 1
for j in range(1, i + 1):
x = x * j
sum3 = sum3 + x
else:
x = 1
for j in range(1, i + 1):
x = x * j
sum3 = sum3 - x
print('sum3=', sum3)