循环中网页增量刷新的重复if条件代码优化咨询
循环中网页增量刷新的重复if条件代码优化咨询
嘿,你这堆重复写的if条件确实有点冗余,完全可以用更简洁的方式来优化,不用每次都硬编码数值~
最推荐的是用取模运算来判断,一行条件就能替代所有重复的if,代码会清爽很多:
# 优化后的核心判断逻辑 if counter % 300 == 0 and counter != 0: driver.refresh() time.sleep(20)
简单解释下:%是取模运算符,用来计算counter除以300的余数,余数为0就说明当前是300的整数倍。加个counter != 0是防止循环刚开始(如果你的counter从0开始计数)就误触发刷新——要是你的循环是从1开始计数的,这个额外判断可以直接删掉。
这种方式还有个好处:哪怕后续循环跑超过1200次,比如到1500、1800次时,代码会自动触发刷新,不用再手动加新的if条件,扩展性拉满~
如果你只是想针对特定的几个固定数值触发刷新(不想自动覆盖更大的倍数),也可以用集合来存目标值,这样后续改数值只要改集合就行,不用动判断逻辑:
target_counts = {300, 600, 900, 1200} if counter in target_counts: driver.refresh() time.sleep(20)
两种方式选哪个看你实际需求,前者适合“每N次就触发”的场景,后者适合“特定几次才触发”的场景~
备注:内容来源于stack exchange,提问作者san1
相关产品推荐
相关产品推荐

