Поєднання повторення та розгалуження
Повторення та розгалуження в 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)
Коментарі
Дописати коментар