题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
程序源代码:
profit = int(input("净利润:"))
arr = [100**3, 60*(100**2), 40*(100**2), 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
money = 0
result_money = 0
for i in range(0, 6):
if profit > arr[i]:
money = (profit - arr[i]) * rat[i]
print(money)
result_money += money
profit = arr[i]
print(result_money)
# 题目:输入某年某月某日,判断这一天是这一年的第几天?
# 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,
# 特殊情况,闰年且输入月份大于2时需考虑多加一天:
# 官方解答:
year = int(input("year:"))
month = int(input("month:"))
day = int(input("day:"))
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
if 0 < month <= 12:
sum = months[month - 1]
else:
print("data error")
sum += day
leap = 0
# 闰年的判断方法:历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰.
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print("it is the %dth day." % sum)
# 个人见解:
year = int(input("year:"))
month = int(input("month:"))
day = int(input("day:"))
months = (1, -2, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1)
leap_1 = 0
leap_2 = 0
for i in months[:month-1]:
leap_1 += i
if 0 < month <= 12:
sum = 30 * (month-1) + leap_1 + day
else:
print("data error")
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap_2 = 1
if (leap_2 == 1) and (month > 2):
sum += 1
print("it is the %dth day." % sum)
网友评论