Сб, 18.11.2017, 12:11
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 3 з 5«12345»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Розв'язуємо задачі в стилі Python (Відвикаємо від звичок Паскаля і т. п.)
Розв'язуємо задачі в стилі Python
Bandalak Дата: Вт, 05.09.2017, 19:28 | Повідомлення № 31
Лідер форуму
Повідомлень: 5521
Нагороди: 39
Рейтинг: 260
Цитата Пилипчук_О_П ()
Подібно до циклу for-in в Delphi і FreePascal:
http://wiki.freepascal.org/for-in_loop/ru


В даній статті нічого не зрозуміло, описаний тільки синтаксис без пояснень та прикладів.
swetikccc Дата: Вт, 05.09.2017, 19:40 | Повідомлення № 32
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Просто перебір усіх символів рядка
Пилипчук_О_П Дата: Вт, 05.09.2017, 19:42 | Повідомлення № 33
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата swetikccc ()
Почитайте про срезы(українською як перекладають не знаю)

Чим поганий варіант "зріз"? В англійській саме таке слово й використано: slice.
https://e2u.org.ua/s?w=slice&dicts=all&highlight=on
Цитата swetikccc ()
а ще ньюанс останній нолик буде спереду ж, тому обернений рядок потрібно перетворити на число, а потім виводити

В межах сформульованої задачі не зрозуміло, що робити з кінцевими нулями. Сказано вивести "задом наперед".
Пилипчук_О_П Дата: Вт, 05.09.2017, 19:45 | Повідомлення № 34
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата Пилипчук_О_П ()
Подібно до циклу for-in в Delphi і FreePascal:
http://wiki.freepascal.org/for-in_loop/ru

Цитата swetikccc ()
Просто перебір усіх символів рядка

В даному випадку - так. Але цикл for-in - потужніший. В ньому перебираються всі елементи з певної сукупності: символи в рядку, елементи в масиві, множині, списку, кортежі тощо. При цьому власне сам елемент змінити неможливо (не знаю, чи у всіх мовах), зате його якось можна використати в алгоритмі.
swetikccc Дата: Вт, 05.09.2017, 19:56 | Повідомлення № 35
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Для зрозумілості наведу звичний цикл
for i in range(10):
range це функція яка вертаєцілі числа і може мати три аргументи
1 Якщо один то від нуля до нього, але він не влючається.
2 Два , перший від, інший до
3 Якщо три то третій крок
Пилипчук_О_П Дата: Вт, 05.09.2017, 20:03 | Повідомлення № 36
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Ще приклади:

a='qwe rty yui'
for i in a:
    print(i)

Результат - посимвольне виведення орядка:    
q
w
e

r
t
y

y
u
i

a=['qwe','rty','yui']
for i in a:
    print(i)

Результат - поелементне виведення списку:    
qwe
rty
yui


Відредаговано: Пилипчук_О_П - Вт, 05.09.2017, 20:04
swetikccc Дата: Вт, 05.09.2017, 20:06 | Повідомлення № 37
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Цитата Пилипчук_О_П ()
При цьому власне сам елемент змінити неможливо (не знаю, чи у всіх мовах), зате його якось можна використати в алгоритмі
Можливо
Ось як, попробуйте повинно працювати
j=0
for i in str1
str=тут міняємо
j=j+1


Відредаговано: swetikccc - Вт, 05.09.2017, 20:08
swetikccc Дата: Вт, 05.09.2017, 20:09 | Повідомлення № 38
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
str1[j] в квадратних j
Щось не вводиться


Відредаговано: swetikccc - Вт, 05.09.2017, 20:29
Пилипчук_О_П Дата: Вт, 05.09.2017, 20:16 | Повідомлення № 39
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата swetikccc ()
str1 в квадратних j
Щось не вводиться

Не вводиться, бо увімкнено режим bb-тегів(?) Перемкніть на візуальний редактор.
Пилипчук_О_П Дата: Вт, 05.09.2017, 20:24 | Повідомлення № 40
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата swetikccc ()
Ось як, попробуйте повинно працювати
j=0
for i in str1
str=тут міняємо
j=j+1

Я мав на увазі трохи інше. Об'єкт i в цьому разі містить копію елемента (наприклад, символ) і не дозволяє прямо змінити відповідний символ в рядку (елемент в списку тощо). Експеримент дав такий результат:
for i in a: #i почергово копіює елементи списку
    i='111' #i втрачає попереднє значення
    print(i)
print (a) #список не змінився

111
111
111
['qwe', 'rty', 'yui']
Bandalak Дата: Чт, 14.09.2017, 21:31 | Повідомлення № 41
Лідер форуму
Повідомлень: 5521
Нагороди: 39
Рейтинг: 260
https://netoi.org.ua/index_ua.php?lng=ua&cid=823&task=Circle
Вiртуальний центр проведення інтернет-олімпіад (Пітон теж там доступний).
NETOI.ORG.UA
swetikccc Дата: Пт, 27.10.2017, 11:43 | Повідомлення № 42
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Задача 9
Заїзд в ЛКШ
Організатори Всеукраїнської Літньої Комп'ютерної Школи "ОЛІМП" організували централізований заїзд учасників з Кременчука в НОК "Ерудит". Для цього було
замовлено три автобуса, які одночасно під'їхали до залізничного вокзалу. Усі
учасники швидко розподілились по автобусах. Старша вожата Марина Віталіївна
з'ясувала, що кількість учасників ЛКШ в різних автобусах різна, і вона вирішили
пересадити частину учнів так, щоб у кожному автобусі їх було порівно.

Дороможіть Марині Віталіївні з'ясувати, яку найменшу кількість дітей потрібно пересадити. Формат вхідних даних:
У першому рядку задано три натуральних числа, не більших за 100 - кількість дітей у першому, другому та третьому автобусах. Формат вихідних даних:
Виведіть одне число - найменшу кількість дітей, яких потрібно пересадити. Якщо це зробити не можливо, то виведіть NO SOLUTIONS.
Приклади
Вхідні дані             Результат роботи
2 3 4                        1
9 10 10                     NO SOLUTIONS


Відредаговано: swetikccc - Пт, 27.10.2017, 11:54
swetikccc Дата: Пт, 27.10.2017, 11:50 | Повідомлення № 43
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Попередня майже звичайна, а ось цю можливо орігінально зробити на Пітоні
Задача 10
Новий модуль
Новий модуль отримує на вхід чотирьохзначне число та генерує з цифр цього числа мінімально можливе чотирьохзначне число та максимально можливе
чотирьохзначне число.
Нажаль, останнім часом, модуль почав давати збій і виводити не зрозуміло що. Дороможіть відновити роботу модуля - напишіть
програму, яка моделює роботу модуля. Формат вхідних даних:
У першому рядку задано одне чотирьохзначне число. Формат вихідних даних:
Виведіть в першому рядку два числа - найменше чотирьохзначне число та найбільше чотирьохзначне число, які можна отримати з цифр даного числа. Числа
розділяйте одним пропуском.
Приклади
Вхідні дані    `Результат роботи
1234                    1234 4321


Відредаговано: swetikccc - Пт, 27.10.2017, 11:54
Пилипчук_О_П Дата: Пт, 27.10.2017, 12:16 | Повідомлення № 44
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата swetikccc ()
найменше чотирьохзначне число

В задачі нічого не сказано про цифру 0. 0123 - це 4-значне число?
Bandalak Дата: Пт, 27.10.2017, 12:36 | Повідомлення № 45
Лідер форуму
Повідомлень: 5521
Нагороди: 39
Рейтинг: 260
Ні.
У цьому випадку мінімальним буде - 1023.
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Розв'язуємо задачі в стилі Python (Відвикаємо від звичок Паскаля і т. п.)
Сторінка 3 з 5«12345»
Пошук:


© Форум інформатиків України, 2007-2017.