python - 如何让这段代码更简单呢?

标签 python

这段代码有一个小问题

if    3 <= y <  7: self.draw_y -= 2
elif  7 <= y < 13: self.draw_y -= 3
elif 13 <= y < 17: self.draw_y -= 4
elif 17 <= y < 23: self.draw_y -= 5
elif 23 <= y < 27: self.draw_y -= 6
elif 27 <= y < 33: self.draw_y -= 7
elif 33 <= y < 37: self.draw_y -= 8
elif 37 <= y < 43: self.draw_y -= 9
elif 43 <= y < 47: self.draw_y -= 10
....

你能帮我简化这段代码吗?

最佳答案

效率不高,但更干净:

if y >= 3:
    self.draw_y -= 2
    delta = 6
    while y >= 7:
        self.draw_y -= 1
        y -= delta
        delta = 6 if delta == 4 else 4

关于python - 如何让这段代码更简单呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658991/

相关文章:

python - [a-zA-Z] Python 正则表达式模式可以匹配和替换非 ASCII Unicode 字符吗?

Python line_profiler 安装

python - 尝试授权自己进入共享点站点时收到 key 错误

python - 检索除一个指定列之外的所有数据帧

python - 使用 Python 将数据帧插入 MS-SQL 时出错

Python : Something unexpected is happening in my code. ...?

用于休眠函数的 Python C 扩展

python - 将 2 个打印的行合并为单行并插入到 mysql 数据库中

python - 一次使用 openerp one2many 列表中的表单和 TreeView

python - 加载python应用程序时Ubuntu服务器内存不足