Python中的Make counter

2024-09-30 01:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法用计数器重写我的代码? 类似于:i=0,el=name[i+1]??因为代码看起来太长,重复次数太多

 name = wait.until(EC.presence_of_all_elements_located((By.ID, 'com.eas.android:id/text_username')))
    try:
        if name:
            action.press(el=name[0]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)
            action.press(el=name[1]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)
            action.press(el=name[2]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)
            action.press(el=name[3]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)
            action.press(el=name[4]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)
            action.press(el=name[5]).wait(2000).perform()
            self.delUser()
            btnBack.click()
            time.sleep(2)

Tags: 代码nameselftime计数器actionsleepel
2条回答
try:
        if name:
           for i in range(6):
              action.press(el=name[i]).wait(2000).perform()
              self.delUser()
              btnBack.click()
              time.sleep(2)

  or

        if name:
           for i in range(len(name)):
              action.press(el=name[i]).wait(2000).perform()
              self.delUser()
              btnBack.click()
              time.sleep(2)

可以使用for loop简化代码:

    try:
        if name:
            for n in name:
                action.press(el=n).wait(2000).perform()
                self.delUser()
                btnBack.click()
                time.sleep(2)

虽然,我会很小心,因为name似乎是list,但是您在第2行的if语句中使用它就像是bool。(更正:这很好。参见randomir的评论)

相关问题 更多 >

    热门问题