文章目录
前言
本专栏从「基础」的编程知识开始,带你了解「基础算法」以及「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. 涉及知识点
- 列表
- 判断
- 数据结构与算法