Re: Потрібна допомога
Правда ваша. Ну що ж, всі помиляються, я не виняток. А що саме не зрозуміло?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Потрібна допомога
Сторінки Попередня 1 … 5 6 7 8 9 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
Правда ваша. Ну що ж, всі помиляються, я не виняток. А що саме не зрозуміло?
Правда ваша. Ну що ж, всі помиляються, я не виняток. А що саме не зрозуміло?
Буває
Мені трохи незрозумілий ось цей рядок
print(1 if abs(a-b)<c<a+b else 0, end=' ')
Я просто до цього ні разу не бачив функцій if, else в одному рядку (окрім як в ваших повідомленнях ), тому трохи не ясно я воно працює.
В Python є пара зручних скорочень. Якщо треба зробити
if умова:
variable = значення1
else:
variable = значення2
то можна написати просто
variable = значення1 if умова else значення2
Трохи змінюється послідовність виразів (значення1 іде перед if), зате дуже схоже на математичний запис.
У циклів є дещо схожа конструкція - генераторний вираз
(щось for змінна in ітератор)
Така конструкція дозволяє одразу створювати списки:
arr = int(x) for x in input().split()
Якщо якісь значення в генераторному виразі треба відфільтрувати, то треба додати if:
arr = int(x) for x in input().split() if int(x)%2==0
залишить лише парні значення.
Ну і нарешті треба сказати про деконструкцію:
[a,b,c]=arr
каже, що список arr треба розкласти на значення a,b і c (якщо в arr не 3 значення, буде помилка).
Іменований параметр end функції print задає символ, який треба виводити наприкінці, замість нового рядку.
triangles = int(input()) for _ in range(triangles): #нам не потрібен номер ітерації [a,b,c] = int(x) for x in input().split() print(1 if abs(a-b)<c<a+b else 0, end=' ')
Ось що вибиває
File "solution.py", line 4 [a,b,c] = int(x) for x in input().split() ^SyntaxError: invalid syntax
Дякую. Нарешті все запрацювало. А то більше години просидів, шукаючи свою помилку.
Почав вивчати Python і мені потрібна допомога
створити програму обчислення коренів квадратного рівняння. задачу виконати у вигляді діалогу з уведеням набору коефіцієнтів за допомогою клавіатури
Почав вивчати Python і мені потрібна допомога
створити програму обчислення коренів квадратного рівняння. задачу виконати у вигляді діалогу з уведеням набору коефіцієнтів за допомогою клавіатури
Краще б українську вивчили і правила прочитали.
Ну що ж, всім привіт Давненько мене тут не було...
І в мене знов проблеми))
В даному випадку з розв'язком цієї задачі - https://www.e-olymp.com/uk/problems/2
Ось мій код
print(len(input()))
Проблема в тому, що для перевірки коду сайт дає кілька різних варіантів вхідних даних (в даному випадку 8 )
І 6 із 8 спроб закінчились успіхом, але інші 2...
В мене тільки одне припущення чому може бути помилка: в умові задачі вказано, що в вхідних даних "Одне ціле невід'ємне число n (0 ≤ n ≤ 2 ∙10^9)" і можливо, що ті 2 варіанта - дуже великі числа, які не можуть вміститися в максимальну довжину строки...Але це тільки припущення.
Цікаво почути ваші припущення на рахунок того, у чому може бути помилка і як її виправити.
Буду дуже вдячний
До речі, ось вам ще одна задача: написати функцію, що приймає ціле число та повертає кількість символів у ньому без перетворення на стрічку.
В мене тільки одне припущення чому може бути помилка: в умові задачі вказано, що в вхідних даних "Одне ціле невід'ємне число n (0 ≤ n ≤ 2 ∙10^9)" і можливо, що ті 2 варіанта - дуже великі числа, які не можуть вміститися в максимальну довжину строки...Але це тільки припущення.
все простіше.
>>> a="11 " >>> int(a) 11 >>> len(a) 3
Не будьте розумнішими за умову. Сказано, що вводиться число - значить вводьте число.
Дякую, виправив і все працює)
Наступна задача і знов проблеми...
https://www.e-olymp.com/uk/problems/3
n = int(input())
o = 12
for i in range(1, n):
o = o + 8
print(o)
В чому може бути проблема?
З 13 перевірок - 2 правильні.
Проблема в тому, що для 4 кубів потрібно 33 сірники.
Підозрюю, що треба зробити найближчий до N куб із сірників і доповнювати грані.
Проблема в тому, що для 4 кубів потрібно 33 сірники.
Підозрюю, що треба зробити найближчий до N куб із сірників і доповнювати грані.▼Прихований текст
Тобто 4 куба складаються, в квадратній формі, а не в пряму лінію?
Напряжно получається... Ну, буду думати...
Поки що підкажу лише, що операція
o = 12
for i in range(1, n):
o = o + 8
настільки часто використовується в Python (та й в математиці взагалі), що отримала окрему назву і коротке позначення:
o=4+n*8
код, швидше за все, можна скоротити в рази, але мені ліньки