注意:我用的python3.7,大家如果用Python3.0以下的版本,请记得在print去掉()哦!
题目:企业发放的奖金根据利润提成。利润(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 来计算表达式的值,也就是奖金总数。就是把奖金叠加起来,具体算法还是要在纸上计算,这种方法适用于初学编码的人,比如我,用最笨的数学思路解决问题,就是说在数学上你是按照什么方法做的,然后把他转化成代码,就比较容易理解了。
# -*- coding: UTF-8 -*-
while True:
I = input("pls input the lirun:")
if I
a = I * 0.01
print (a)
elif I 10:
b =0.25 + I * 0.075
print b
elif I 20:
c = 0.75 + I * 0.05
print (c)
elif I 40:
d = 0.95 + I * 0.03
print (d)
elif I 100:
e = 2 + I * 0.015
print (e)
else:
f = 2.95 + I * 0.01
print (f)
3.题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?
程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。这里要用到数学中的开方函数 sqrt。
# -*- coding: UTF-8 -*-
import math
for i in range(10000):
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if (x * x == i + 100) and (y * y == i + 268):
print (i)
领取专属 10元无门槛券
私享最新 技术干货