Этот урок предоставляет список упражнений, которые помогут вам начать практиковать свои навыки программирования.
Открывая новый урок, следует начать импорт модулей, необходимых для работы записной книжки. Например: import numpy, import matplotlib, import datacube, и тд.
# Всегда запускайте эту ячейку вначале, потому что она содержит необходимые модули для упражнений p
import numpy as np
В следующих ячейках будут упражнения со скрытым решением, чтобы вы могли попытаться решить проблему самостоятельно. Нажмите зеленую кнопку «Показать решение», чтобы сравнить ваше решение с предложенным.
Будь в курсе: В программировании есть несколько верных решений, поэтому важно только, чтобы вы получили одинаковые результаты.
Чтобы решать упражнения, вам необходимо знать оператор if и его использование. Вы можете узнать больше по этой ссылке: https://www.w3schools.com/python/python_conditions.asp
i) Найдите числа, делящиеся на 7, и сохраните их в массиве. b
# i)
a = np.arange(1000)
b = [] # Определите b как список
for i in range(len(a)):
if a[i]%7==0: # "%" дает остаток от деления, например: 8/2 = 4 with remainder = 0 then 8%2 = 0
b.append(a[i]) # 9/2 = 4 with remainder = 1 then 9%2 = 1
b = np.array(b) # Преобразовать b в массив
print(b)
[ 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147 154 161 168 175 182 189 196 203 210 217 224 231 238 245 252 259 266 273 280 287 294 301 308 315 322 329 336 343 350 357 364 371 378 385 392 399 406 413 420 427 434 441 448 455 462 469 476 483 490 497 504 511 518 525 532 539 546 553 560 567 574 581 588 595 602 609 616 623 630 637 644 651 658 665 672 679 686 693 700 707 714 721 728 735 742 749 756 763 770 777 784 791 798 805 812 819 826 833 840 847 854 861 868 875 882 889 896 903 910 917 924 931 938 945 952 959 966 973 980 987 994]
# Альтернативное решение
b = a[a%7==0] # a%7==0 это наше условие и с помощью квадратных скобок мы можем выбрать элементы массива a
print(b) # где условие Истинно
[ 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147 154 161 168 175 182 189 196 203 210 217 224 231 238 245 252 259 266 273 280 287 294 301 308 315 322 329 336 343 350 357 364 371 378 385 392 399 406 413 420 427 434 441 448 455 462 469 476 483 490 497 504 511 518 525 532 539 546 553 560 567 574 581 588 595 602 609 616 623 630 637 644 651 658 665 672 679 686 693 700 707 714 721 728 735 742 749 756 763 770 777 784 791 798 805 812 819 826 833 840 847 854 861 868 875 882 889 896 903 910 917 924 931 938 945 952 959 966 973 980 987 994]
# Напишите здесь свое собственное решение
# i)
ii) Выведите все значения от 0 до 10 и все значения от 80 до 90 в b
# ii)
for i in range(len(b)):
if b[i]<10:
print(b[i])
elif 80<b[i]<90:
print(b[i])
0 7 84
# Alternative Solution
print(b[b<10])
print(b[(80<b) & (b<90)])
[0 7] [84]
# Напишите здесь свое собственное решение
# ii)
Последовательность Фибоначчи - это последовательность чисел: 0, 1, 1, 2, 3, 5, 8, ....
Каждое следующее число находится путем сложения двух чисел перед ним.
Начните с 0 и 1, например a = [0,1], а затем найдите оставшиеся числа до 1000
a = [0,1]
for i in range(100):
val = a[i+1] + a[i]
if val<=1000:
a.append(val)
else:
break
print(a)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987]
# Альтернативное решение
a = [0,1]
i = 0
val = 0
while val<=1000:
val = a[i+1] + a[i]
a.append(val)
i += 1
a = a[:-1]
print(a)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987]
# Альтернативное решение
a = np.zeros(100, dtype='int')
a[1] = 1
for i in range(2,100):
a[i] = a[i-2] + a[i-1]
if a[i]>1000:
a = a[:i]
break
print(a)
[ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987]
# Напишите здесь свое собственное решение