自动添加elif语句

时间:2019-03-10 20:57:45

标签: python python-3.x

因此,我正在尝试在python的for循环中自动添加elif语句(因为键入每个elif语句很累,更不用说使其变慢了)...类似这样的东西:

 for i, j in zip(range(len(keys())), keys()):
    elif act_type <= (1 + i) * screen_h:
        press(j)
        print("Agent has pressed " + j)

我应该如何去做?我真的不想键入每个elif语句。顺便说一下,keys函数返回大约60个项目的列表。

编辑:Act_type是由代理创建的整数,screen_h是水平屏幕尺寸除以数组的尺寸... press函数只是使用pyautogui.press按下该键的调用。

这就是我想做的卷曲的事情:

if act_type <= screen_h:
    press('command')
elif act_type <= screen_h * 2:
    press('up')
elif act_type <= screen_h * 3:
    press('left')
elif act_type <= screen_h * 4:
    press('right')
elif act_type <= screen_h * 5:
    press('down')
elif act_type <= screen_h * 6:
    ...

1 个答案:

答案 0 :(得分:0)

您不需要动态生成的elif子句; if循环中只有一个for语句。使用break尽早终止for循环,以反映在单个elif语句中应用if子句时的情况。

for i, key in enumerate(keys(), start=1):
    if act_type <= i * screen_h:
        press(key)
        print("Agent has pressed key".format(key))
        break