Я начал пытаться выучить python сегодня практически без опыта программирования. Я использую сайт Learn python .org и следую и выполняю их упражнения.
В упражнении l oop он просит меня выполнить l oop и распечатать все четные числа из списка номеров в том же порядке, в котором они получены, и не распечатывать поступающие числа. после 237 в последовательности.
Мое решение проблемы, похоже, сработало, но их решение сильно отличается. Что-то не так, что может повлиять на то, что я не знаю, с моим кодом?
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
#My solution
for i in numbers:
if i == 237:
break
if i % 2 == 0:
print(i)
continue
#Their solution
for number in numbers:
if number == 237:
break
if number % 2 == 1:
continue
print(number)
Что еще я заметил, так это то, что мы проверяем четные числа иначе. Я использовал это: if i % 2 == 0
, и они использовали это: if number % 2 == 1
. Почему они оба, кажется, делают то же самое?