点击领取粉丝福利

文章目录

  • 前言
  • 1. 题目描述
  • 2. 程序分析
  • 3. 程序源代码
  • 4. 运行结果
  • 5. 难度分析
  • 6. 涉及知识点
  • 结语

前言

本专栏从「基础」的编程知识开始,带你了解「基础算法」以及「Python的美」「函数」的方便与快捷之处。收集 「100例Python语言基础入门题」,包含 「考试真题」「LeetCode基础题」,并且加入详细的解题思路以及难度分析。

此100例部分为『本人』收集,部分为本人自己所想,从『入门』开始,到『进阶』结束,『实际操作』加解题分析,让你『彻底掌握』Python语言基础

1. 题目描述

企业发放的奖金根据利润提成

利润(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,求应发放奖金总数?

2. 程序分析

仔细看题的意思,看着复杂,其实一点都不复杂,我都分段分的这么清晰了,还不明白吗?

使用判断语句,分成好几种情况

头脑风暴:你可以使用高级数据类型来做吗?

3. 程序源代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Smly
# @datetime: 2021/10/2 17:25 
# @Version: 1.0

l = int(input("请输入总利润:"))  # 利润
jj = 0  # 奖金
if l <= 100000:
    jj = l * 0.1
elif l > 100000 and l <= 200000:
    jj = 100000 * 0.1 + (l - 100000) * 0.075
elif l > 200000 and l <= 400000:
    jj = 100000 * 0.1 + 100000 * 0.075 + (l - 200000) * 0.05
elif l > 400000 and l <= 600000:
    jj = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (l - 400000) * 0.03
elif l > 600000 and l <= 1000000:
    jj = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (l - 600000) * 0.015
else:
    jj = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (l - 1000000) * 0.01

print(jj)

我的妈呀,这也太折磨人了吧~~~

我们既然学了高级数据类型,那么就用起来吧~~

头脑风暴:

print("----------------------------")
print("头脑风暴")
i = int(input('请输入总利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
    if i>arr[idx]:
        r+=(i-arr[idx])*rat[idx]
        print ((i-arr[idx])*rat[idx])
        i=arr[idx]
print (r)

4. 运行结果

请输入总利润:>? 1005000
39550.0
----------------------------
头脑风暴:
请输入总利润:>? 1005000
39550.0

5. 难度分析

第一个方法很简单,傻瓜式操作

第二个方法比较难想,涉及了一些数据结构与算法的知识点,将奖金和提成仔细分析,并一一对应,然后循环累加

6. 涉及知识点

  • 列表
  • 判断
  • 数据结构与算法

结语

粉丝福利

关注博主公众号,领取更多精彩内容

更多推荐

Python入门100例(三)