Приклади задач з циклом for
Приклади задач з циклом for
for i in range(0, 100): # змінна i "крокуватиме" від числа 0 до 99 if i % 2 == 0: # перевіряємо чи число парне, тобто остача від ділення на 2 дорівнює нулю print(i) # виводимо число, яке задовольняє умовуабо
for i in range(0, 100, 2): # третій аргумент відповідає за крок параметра циклу (у попередньому варіанті крок був 1) print(i)import numpy # підключаємо бібліотеку з математичними функціями A = float(input('Введіть A: ')) # вводимо початок проміжку (може бути дробом, тому тип float)B = float(input('Введіть B: ')) # вводимо кінець проміжкуk = float(input('Введіть крок k: ')) # вводимо крок for i in numpy.arange(A, B, k): # функція, аналогічна вбудованій range(), але яка приймає не тільки цілі значення y = 9 * i ** 3 + 8 print(y)n = int(input('Введіть кількість членів послідовності: '))A = int(input('Задайте шукане число: '))for i in range(n):member = float(input('Введіть елемент послідовності: '))if member == A:print('Послідовність містить число ', A)breakelse:print('Послідовність не містить число ', A)n = int(input('n = ')) # вводимо число ni = 1 # визначаємо початкове значення для змінної, яка буде основою кожного доданкаsuma = 0 # визначаємо початкове значення сумиwhile i <= n: # початок циклу! перевіряємо, чи i <= n suma += i**2 # початок тіла циклу, яке матиме дві команди! тут виконуємо піднесення до степеня i += 1 # змінюємо в тілі циклу змінну i: збільшуємо на одиницю (еквівалентно до i = i + 1)print(suma) # виводимо суму !!!зверніть увагу, що ця команда ПОЗА межами циклу, бо пробілів немаєВказівка. Можна використати алгоритм Евкліда, який заснований на тому, що НСД не змінюється, якщо від більшого числа відняти менше. Оскільки більше з двох чисел постійно зменшується, повторне виконання цього кроку дає все менші числа, поки одне з них не дорівнюватиме нулю. Коли одне з чисел дорівнюватиме нулю, то те, що залишилось, і є НСД.
num1 = int(input('Введіть перше натуральне число: '))num2 = int(input('Введіть друге натуральне число: '))if num1 == 0: print('НСД(%s,%s) = %s' % (num1, num2, num2)) # повертаємо значення другого числаwhile num2 != 0: if num1 > num2: num1 = num1 - num2 else: num2 = num2 - num1print('НСД(%s,%s) = %s' % (num1, num2, num1)) # повертаємо значення першого числаВказівка. Легко помітити, що при послідовному обчисленні членів послідовності нам не потрібно «розписувати» усі доданки за визначенням, і щоб отримати черговий член послідовності, достатньо на кожному кроці додавати два попередніх отриманих результати.
1 спосіб
f1 = 1 # присвоюємо змінним f1 та f2 значення перших двох членівf2 = 1n = int(input("Введіть номер члена послідовності Фібоначчі: ")) # вводимо номер шуканого члена послідовностіi = 0while i < n - 2: # виконуємо цикл (n-2) разів, оскільки перших два члени уже визначені f_sum = f1 + f2 # додаємо змінні f1 та f2 і присвоюємо суму змінній f_sum для тимчасового збереження даних f1 = f2 # змінна f1 набуває значення f2 f2 = f_sum # змінна f2 набуває значення f_sum i = i + 1 # змінна тіла циклу змінюється! — збільшується на одиницюprint(f2) # вводимо значення змінної f22 спосіб (менш раціональний, проте ілюстративний)
n = int(input('Введіть n: ')) # вводимо номер шуканого члена послідовностіif n == 1: # перший член повинен дорівнювати одиниці print(1)elif n == 2: # другий член теж повинен дорівнювати одиниці print(1)else: # якщо потрібно знайти член послідовності, відмінний від першого та другого: i = 3 # визначаємо початковий номер члена послідовності для циклу (третій) a = 1 # визначаємо значення перших двох елементів b = 1 fib = 1 # визначаємо тимчасове значення змінної, у яку буде записуватись значення n-го члена while i <= n: # початок циклу! перевіряємо, чи i <= n fib = a + b # додаємо два попередні результати a = b # замінюємо перше число другим, щоб "посунути" послідовність b = fib # друге число набуває значення змінної для тимчасового зберігання даних i += 1 # номер члена послідовності збільшується на 1 print(fib) # вводимо значення змінної fibb = 6q = 0.5s = 6while b > 0.6: b = b * q if b > 0.6: s = s + b print(b)print('Сума членів прогресії =', s) n = float(input('Введіть суму вкладених коштів: '))v = float(input('Введіть відсоток: '))v = v / 100k = float(input('Введіть граничну суму: '))r = 0 while True: n = n + n * v r += 1 if n >= k: break print('Кількість років: ', r)