Python:是否有更简单的方法来执行此脚本?

标签 python

<分区>

我正在尝试让 self.id 显示准确的值。我做到了,但我想知道如何改进它?

self.id = 36

def OnClickNextPage(self):
    if self.id == 36:
        self.id = 37
    elif self.id == 37:
        self.id = 1020
    elif self.id == 1020:
        self.id = 2020
    elif self.id == 2020:
        self.id = 3019
    elif self.id == 3019:
        self.id = 5015
    elif self.id == 5015:
        self.id = 7019
    else:
        return

def OnClickPrevPage(self):
    if self.id == 36:
        return
    elif self.id == 37:
        self.id = 36
    elif self.id == 1020:
        self.id = 37
    elif self.id == 2020:
        self.id = 1020
    elif self.id == 3019:
        self.id = 2020
    elif self.id == 5015:
        self.id = 3019
    elif self.id == 7019:
        self.id = 5015
    else:
        return

我希望得到准确的值,但我不确定如何让它更智能。

最佳答案

如果您只是想缩短它,您可以使用 self.id 值列表和您想要将其更改为的值。对于第一个函数:

def OnClickNextPage(self):
    possible_ids = [36, 37, 1020, 2020, 3019, 5015]
    change_id = [37, 1020, 2020, 3019, 5015, 7019]
    if self.id in possible_ids:
        self.id = change_id[possible_ids.index(self.id)]
        return self
    else:
        return self

确保返回 self 以便它更新对象的 self.id

关于Python:是否有更简单的方法来执行此脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57528499/

相关文章:

python - 连接两个数值以使用 Pandas 创建一个新列?

python - 如何增加蛇的长度,使其遵循前面的前一个矩形/长度,而不是直接在头部后面

具有相同数量实例的 Python max

python - 当 na 进入 pandas 专栏时如何重置 cumprod

python - 在字符串中查找重复的字符组合

python - 无法在 pygame 中移动捕手角色

Python os.path 是 ntpath,怎么办?

python - 重复变化

python - 如何打破以下python行

python - 匹配 Python 字典