• python 学习记录-根据提成计算奖金


    题目:企业发放的奖金根据利润提成。利润低于或等于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%提成,从键盘输入当月利润,求应发奖金数?

    相关函数:

    1、range()----创建应整数列表,常用于for循环

    语法:range(start,stop[,step])

    参数说明:

    start:计数从start开始,默认是从0开始;stop:计数到stop结束,但不包括stop。如range(0,4)是[0,1,2,3]  ;step:步长,默认是1。如range(0,6)等价于range(0,6,1)

    2、sum()-----求和函数

    语法:sum(iterable[,start])

    参数说明:

    iterable:可迭代对象,如列表、元祖、集合; start:指定相加的参数,如果没有设置这个值,默认是0;

    3、map()

    语法:map(function,iterable,...)

    需传入一个函数,这个函数可以是内置的,也可以自定义或匿名函数;第二个参数时可迭代对象,如列表、字符串等。返回的是一个map对象,注意不是列表不能直接输出,可以通过for循环或者list()来显示。

    4、lambda()----匿名函数

    语法:lambda arg1,arg2,。。。,argN:expression

    5、zip()---将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,然后返回有这些元祖组成的对象,我们可用list()转换来输出列表

    语法:zip(iterable,。。。)

    代码:

    w=int(input('输入利润: '))
    p=[1000000,600000,400000,200000,100000,0]
    t=[0.01,0.015,0.03,0.05,0.075,0.1]
    r=[400000,200000,200000,100000,100000]
    for j in range(len(p)):
        if w >p[j]:
            v1=(w-p[j])*t[j]
            print(v1)
            p_new=p[j+1:6]
            r_new=r[j:5]
            v2=sum(map(lambda x,y:x*y,zip(p_new,r_new)))
            print(v2)
            print(v1+v2)
            break

    运行提示:

        v2=sum(map(lambda x,y:x*y,zip(p_new,r_new)))
    TypeError: <lambda>() missing 1 required positional argument: 'y'

    但若改为v2=sum(map(lambda(x,y):x*y,zip(p_new,r_new)))也不行,

    会提示:    v2=sum(map(lambda (x,y):x*y,zip(p_new,r_new)))
                          ^
    SyntaxError: invalid syntax

    最后写了一个简单易懂的

    w=int(input('请输入当月利润,(单位:万元):'))
    p=[1000000,600000,400000,200000,100000,0]
    t=[0.01,0.015,0.03,0.05,0.075,0.1]
    r=0
    for j in range(len(p)):
        if w>p[j]:
            r+=(w-p[j])*t[j]
            w=p[j]
    print('奖金:',r)
  • 相关阅读:
    自动化测试之读取配置文件 | 踩坑指南
    文未有福利 | BAT 名企大厂做接口自动化如何高效使用 Requests ?
    高效能 Tester 必会的 Python 测试框架技巧
    移动自动化测试从入门到高级实战
    1 天,1000+ 测试工程师分享了这个课程 | 年度福利
    H5性能分析实战来啦~
    接口测试实战 | Android 高版本无法抓取 HTTPS,怎么办?
    实战 | 接口自动化测试框架开发(Pytest+Allure+AIOHTTP+用例自动生成)
    第一期线上沙龙PPT领取方式
    Java日志第48天 2020.8.24
  • 原文地址:https://www.cnblogs.com/zhuzhu1214/p/11678055.html
Copyright © 2020-2023  润新知