Поєднання повторення та розгалуження

 Повторення та розгалуження в Python

На практиці часто зустрічаються програми, в яких тіло циклу містить команди розгалуження. Тобто, якщо дані відповідають деякій умові, то вони опрацьовуються, інакше - ні.

Процес опрацювання даних здійснюється, поки не виконається умова кінця циклу.

Команди повторення та розгалуження можуть бути складними. Одна умова може містити декілька умов, один цикл може бути вкладеним в інший цикл. А також розгалуження може бути вкладеним в цикл, або цикл може містити декілька розгалужень.

Розглянемо на практиці виконання таких програм.


Завдання з підручника Руденко Інформатика 8 клас 2021р. для поглибленого вивчення с.239.

Завдання 1. Розробіть алгоритм і код визначення чи є серед імен дівчат вашого класу хоча б одне ім'я Валентина.

# Завдання 1

lst = ['liza', 'valentina', 'alisa', 'anita']

for i in range(4):

    if lst[i] == 'valentina':

        print('Таке імя є')

    else:

        print('Такого імені нема')

Завдання 2. Відомий зріст кожного хлопця вашого класу. Розробіть код визначення, скільки хлопців мають зріст вище 165 см.

# Завдання 2

lst1 = [160, 170, 180, 165, 187]

k = 0

for i in range(5):

    if lst1[i] >= 165:

        k = k + 1

print('у класі', k , 'учнів вище 165 см ')

Завдання 3. Генерується 17 випадкових чисел, в діапазоні від 6 до 37. Розробіть код обчислення суми чисел, кратних двом, які не потрапляють в діапазон від 10 до 16.

# Завданя 3

import random

lst2 = [6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21, 22, 23, 24,25, 26, 27, 28,29,30,31,32,33,34,35,36]

print('Генерація випадкових чисел в межах заданого діапазону')

lst3 = random.sample(lst2, 17)

# або lst3 = random.sample(range(6, 36), 17)

print(lst3)

s = 0

for i in range(17):

    if  lst3[i] % 2 == 0 and lst3[i] > 10 and  lst3[i] < 16:

        s = s + lst3[i]

print('s=', s)

Завдання 4. Розробіть код визначення у слові multimedia усіх букв, код яких більший за 104 і менший від 117.

# завдання 4

lst4 = []

d = 'multimedia'

for i in range(10):

    lst4.append(ord(d[i]))

print(lst4)

s1 = 0

for i in range(11):

    if lst4[i] > 104 and lst4[i] < 117:

        s1= s1 + 1

print('s1=', s1)

Завдання 5. Лотерейний квиток має дев'ятизначний номер. Він вважається щасливим, якщо в ньому є не менше від двох цифр 7. Розробіть код визначення, чи є квиток, який ви придбали, щасливим.

# завдання 5 

l = int(input('Введіть  девятизначний номер лотерейного квитка '))

sum = 0

x = l

sch = 0 # лічильник чисел 7

while x>0:

    k = x % 10

    sum = sum + k

    x = x // 10

    if k == 7 :

        sch = sch + 1

if sch >= 2:

    print('Лотерейний квиток щасливий')

else:

    print('Лотерейний квиток  не щасливий')

Завдання 6. У банк покладено 500 000 грн. під 6% річних. Щороку з рахунку знімається 20 000 грн. Розробіть код визначення, через яку мінімальну кількість років сума вкладу становитиме 750 000 грн.

# завдання 6

sv = 500000 # початкова сума вкладу

zm = 20000 # знімається сума

kv = 6  # Відсоток річних

sp = 0 # початкова сума прибутку

p = 0 # прибуток за поточний рік

i = 0 # кількість років

while sp <= 750000 :

    i = i+1

    p = sv*kv/100

    print('Прибуток за рік', p)

    sv = sv + p

    sp = sp + p

print(sp)

print(i)



Коментарі