6. У програмах описаних завдань автори припустились деяких по- милок. Відшукайте помилки. Обговоріть їх у парі. Запропонуйте одне одному шляхи вирішення. 1) Дано два цілих числа а i b (a s b). Виведіть усі числа від а до b включно. a=int(input('Введіть b=int(input('Введіть перше число')) друге число')) for i in range (a,b) : print (i) 2) Дано натуральне число п. Знайдіть n! (добуток всіх натураль- них чисел, що не перевищує п, тобто 1*2*3*...*n). n=int(input ()) p=1 for i in range (1, n+1): p*=i print (p) 3) У перший день спортсмен пробіг х кілометрів, а потім він кож- ного дня збільшував пробіг на 10% від попереднього значення. За даним числом у визначте номер дня, за який пробіг спортсме- на становитиме не менше у кілометрів. x = int (input ( ) ) y = int(input ()) 2 = 1 while x < y: x = x * 1,1 + 1 2 = 2 print(z) 111
Ответы
1. Помилка в рядку введення чисел. Потрібно розділити введення на два окремі рядки:
a = int(input('Введіть перше число: '))
b = int(input('Введіть друге число: '))
Також потрібно змінити діапазон у циклі for на (a, b+1), щоб включити останнє число:
for i in range(a, b+1):
print(i)
2. Помилка в знаку множення в циклі for. Потрібно замінити кому на крапку:
p*=i
3. Помилка в знаках розділення в числах. Потрібно замінити кому на крапку в обох рядках:
x = x * 1.1 + 1
z = 2
Також потрібно замінити змінну "z" на "2", оскільки змінна "z" не була визначена.
Один з можливих варіантів вирішення цих помилок:
1.
a = int(input('Введіть перше число: '))
b = int(input('Введіть друге число: '))
for i in range(a, b+1):
print(i)
2.
n = int(input())
p = 1
for i in range(1, n+1):
p *= i
print(p)
3.
x = int(input())
y = int(input())
day = 1
while x < y:
x = x * 1.1 + 1
day += 1
print(day)