因此,我正在尝试在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:
...
答案 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