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

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

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


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

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

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

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

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

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


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


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

Не вводиться, бо увімкнено режим bb-тегів(?) Перемкніть на візуальний редактор.
Пилипчук_О_П Дата: Вт, 05.09.2017, 21:24 | Повідомлення № 40
Ветеран спілкування
Повідомлень: 3765
Нагороди: 28
Рейтинг: 309
Цитата 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, 22:31 | Повідомлення № 41
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
https://netoi.org.ua/index_ua.php?lng=ua&cid=823&task=Circle
Вiртуальний центр проведення інтернет-олімпіад (Пітон теж там доступний).
NETOI.ORG.UA
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Розв'язуємо задачі в стилі Python (Відвикаємо від звичок Паскаля і т. п.)
Сторінка 3 з 3«123
Пошук:


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