Один цикл, содержащий несколько операторов if или несколько операторов if с циклами внутри? - PullRequest
0 голосов
/ 10 января 2019

Рекомендуется ли создавать несколько операторов if и вложенных циклов внутри них или создавать один цикл и вкладывать несколько операторов if внутри этого? Мне интересно с точки зрения памяти, времени и других факторов, которые я мог упустить из виду.

Вот какой-то псевдокод:

if a: for i in range(500): do x if b: for i in range(500): do y

против

for i in range(500): if y: do x if z: do p

Другими словами, когда лучшее время для выполнения оператора if. Внутри нескольких вложенных циклов или перед любым из циклов?

Мне также интересно это, потому что может быть более эффективно сделать один оператор if в начале для проверки, а затем выполнить циклы, вложенные в этот оператор if. Однако это может привести к большому количеству повторяющегося кода.

Ответы [ 3 ]

0 голосов
/ 10 января 2019

В некоторых ситуациях вы не сможете проверить условие перед циклом, но если вы можете, это лучшее решение, потому что условие проверяется один раз вместо каждой итерации цикла.

0 голосов
/ 10 января 2019

Это действительно зависит от того, через что вы проходите и что нужно проверять!

Если вам нужно проверить каждую итерацию в обоих случаях a и b, вам следует выбрать вариант 2.

Но если это a или b, просто выберите вариант 1.

0 голосов
/ 10 января 2019

Первый способ лучше всего подходит для выступлений, вы проводите тест один раз, а не на каждом шагу

Конечно, я полагаю, что нет никакого побочного эффекта, делающего два решения различными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...