吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1492|回复: 13
收起左侧

[讨论] 笨办法写python代码

[复制链接]
甜萝 发表于 2022-5-14 11:09
本帖最后由 paypojie 于 2022-5-14 11:21 编辑

Python 练习实例2

https://www.runoob.com/python/python-exercise-example2.html

我还是之前的解题思路 用笨办法写 看了题目 没看案例 直接撸代码

[Python] 纯文本查看 复制代码
num = int(input('请输入利润: '))
if num <= 100000:
    q = num * 0.1
    print(q)
elif 100000 < num <200000:
    w = (num - 100000) * 0.075
    q = 100000 * 0.1
    w = w + q
    print(w)
elif  400000 > num >= 200000:
    e = (num - 200000) * 0.05
    w = 100000 * 0.075
    q = 100000 * 0.1
    e = e + w + q
    print(e)
elif  600000 > num >= 400000:
    r = (num - 400000) * 0.03
    e = 200000 * 0.05
    w = 100000 * 0.075
    q = 100000 * 0.1
    r = r + e + w + q
    print(r)
elif 1000000 > num >= 600000:
    t = (num - 600000) * 0.015
    r = 200000 * 0.03
    e = 200000 * 0.05
    w = 100000 * 0.075
    q = 100000 * 0.1
    t = t + r + e + w + q
    print(t)
else:
    y = (num -1000000) * 0.01
    t = 400000 * 0.015
    r = 200000 * 0.03
    e = 200000 * 0.05
    w = 100000 * 0.075
    q = 100000 * 0.1
    y = y + t + r + e + w + q
    print(y)


上面是我第一次写的 下面是我改为函数形式的写法

[Python] 纯文本查看 复制代码
num = int(input('请输入利润: '))
a = 100000
def ll(num,a):
    q = num * 0.1
    w = (num - a) * 0.075
    e = (num - 2*a) * 0.05
    r = (num - 4*a) * 0.03 
    t = (num - 6*a) * 0.015
    y = (num -10*a) * 0.01
    if num <= a:
        print(q)
    elif a < num < 2*a:
        w = w + a * 0.1
        print(w)
    elif 4*a > num >= 2*a:
        w = a * 0.075
        q = a * 0.1
        e = e + w + q
        print(e)
    elif 6*a > num >= 4*a:
        e = 2*a * 0.05
        w = a * 0.075
        q = a * 0.1
        r = r + e + w + q
        print(r)
    elif 10*a > num >= 6*a:
        r = 2*a * 0.03
        e = 2*a * 0.05
        w = a * 0.075
        q = a * 0.1
        t = t + r + e + w + q
        print(t)
    else:
        t = 4*a * 0.015
        r = 2*a * 0.03
        e = 2*a * 0.05
        w = a * 0.075
        q = a * 0.1
        y = y + t + r + e + w + q
        print(y)
ll(num,a)


我刚开始自己写的时候想到了用逻辑来进行条件判断 有谁看出这段代码的瑕疵?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 甜萝 发表于 2022-5-14 11:18
还有 就是吾爱这个链接怎么弄 有谁知道吗
无字情书 发表于 2022-5-14 11:28
本帖最后由 无字情书 于 2022-5-14 11:35 编辑

如果使用elseif 后面的比较值可以省略。可以建几个全剧变量
Dingtalk_20220514113535.jpg
 楼主| 甜萝 发表于 2022-5-14 11:37
 楼主| 甜萝 发表于 2022-5-14 11:40
无字情书 发表于 2022-5-14 11:28
如果使用elseif 后面的比较值可以省略。可以建几个全剧变量

确实可以这样写 我草率了
layuai 发表于 2022-5-14 13:42
感觉全是面向过程影子
XiaoZouYu 发表于 2022-5-14 14:13
兄弟你这代码冗余了
excess1989 发表于 2022-5-14 15:47
支持你一波!继续加油!
kk1212 发表于 2022-5-14 15:55
还可以更精简
huiker231 发表于 2022-5-14 19:02
你这个思路感觉像是excel里面IF嵌套,没有体现出python高效、优雅
记得有道四舍五入的题,感觉跟你这个题目意思有点异曲同工,假如一个数是abcdef,让你取出每个位数的上的数字,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表