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

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

Сторінка 9 з 12«12789101112»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Мова програмування Python
Пилипчук_О_П Дата: Нд, 13.08.2017, 00:57 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3765
Нагороди: 28
Рейтинг: 309
Коли багато років тому на обкладинці журналу (напевно, "Інформатика в школі") я побачив назву Python (Пайтон), це не викликало особливого інтересу: просто ще одна мова програмування. Проте зараз ситуація дещо змінилась: мова набула популярності серед розробників, постійно розвивається. Останнім часом часто звучать ідеї (і навіть робляться кроки) щодо використання Пайтона для вивчення основ алгоритміки в шкільному курсі інформатики. Ось декілька прикладів:
* з'явився підручник для 8 класу, в якому використовується одночасно дві мови (Паскаль і Пайтон);
* розроблено й опубліковано електронні версії матеріалів для 5 класу на основі Пайтона;
* на курсах вчителів інформатики в Хмельницькому ОІППО активно просувається вивчення Пайтона вчителями;
* http://kpolyakov.spb.ru/download/inf-2014-09a.pdf - стаття "Язык Python глазами учителя".

Очевидно, настав час створити майданчик для обговорення цього на нашому форумі.

Офіційний сайт (зокрема й для звантаження середовища програмування): https://www.python.org/
Інші матеріали:
* https://sites.google.com/site/pythonukr/ - Програмування на мові Python (3.x). Початковий курс
* https://www.youtube.com/watch?v=wT1OjsMHP3k - один з відеоуроків від нашого колеги зі Старокостянтинова
* http://teachlab.ucoz.ua/publ/fraktalni_kubi/5-1-0-75 - моя невеличка спроба використання Пайтона в середовищі тривимірного редактора Блендер.

Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!


Відредаговано: Пилипчук_О_П - Нд, 13.08.2017, 01:23
Bandalak Дата: Сб, 26.08.2017, 16:37 | Повідомлення № 121
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
Цитата swetikccc ()
Ви не приколюєтеся випадком?
def pricol(a,b):
    return ( abs(a),abs(b),a+b)
print(pricol(-6,6))

Виникли два питання:
1. Чому в деяких випадках після return пишеться без дужок, а у деяких з дужками?
2. У заголовку функції def pricol(a,b): не потрібно третього параметра?
swetikccc Дата: Сб, 26.08.2017, 16:49 | Повідомлення № 122
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Bandalak ()
Виникли два питання:1. Чому в деяких випадках після return пишеться без дужок, а у деяких з дужками?
2. У заголовку функції def pricol(a,b): не потрібно третього параметра?
1 Без дужок, це не функція, то я випадково поставив і пройшло
2. Ззовні передаєте два, то два і потрібно.
swetikccc Дата: Сб, 26.08.2017, 17:02 | Повідомлення № 123
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Пилипчук_О_П ()
Цитата Пилипчук_О_П ()Не здивуюсь, якщо в Пайтоні є механізм для позначення необов'язкових аргументів.

Справді є:
http://www.diveintopython.net/power_o....ts.html
Виходить, що для функції з заголовком
Код
def info(object, spacing=10, collapse=1):

коректними є виклики:
Код
info(odbchelper)
info(odbchelper, 12)
info(odbchelper, collapse=0)
info(spacing=15, object=odbchelper)

Потрібно знати внутрішні назви параметрів функції (наприклад, collapse).
Якщо аргументу присвоїли значення за змовчуванням, він становиться необов'язковим, у нього ж уже є значення то і буде використовуватися якщо потрібно.
gromko Дата: Нд, 27.08.2017, 08:54 | Повідомлення № 124
Лінуксоїд
Повідомлень: 2524
Нагороди: 25
Рейтинг: 325
Бажаючі можуть прийняти участь в Grok Code Quest (програмування в Пайтоні):
Bandalak Дата: Нд, 27.08.2017, 09:25 | Повідомлення № 125
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
Цитата gromko ()
Бажаючі можуть прийняти участь в Grok Code Quest (програмування в Пайтоні):

Переконаний, що більшість тут ще "зелені" у Пітоні, щоб брати участь в конкурсах.

Цитата swetikccc ()
2. Ззовні передаєте два, то два і потрібно.

Ага, значить від підпрограми отримуємо те, що написано після Return, і неважливо що там у заголовку!

PS.
Колись переходив з алгоритмічної мови на Бейсик, потім з Бейсика на Фортран, потім назад з Фортрану на Бейсик, потім з Бейсика на Паскаль. Якось особливих проблем з переходами не було, все було логічно.
Тепер пробую перейти з Паскаля на Пітон, це набагато складніше. Зовсім інші принципи синтаксису та побудови програмних структур!
gromko Дата: Нд, 27.08.2017, 12:07 | Повідомлення № 126
Лінуксоїд
Повідомлень: 2524
Нагороди: 25
Рейтинг: 325
Цитата Bandalak ()
Колись переходив з алгоритмічної мови на Бейсик, потім з Бейсика на Фортран, потім назад з Фортрану на Бейсик, потім з Бейсика на Паскаль. Якось особливих проблем з переходами не було, все було логічно.Тепер пробую перейти з Паскаля на Пітон, це набагато складніше. Зовсім інші принципи синтаксису та побудови програмних структур!
Паскаль створений на основи Алголу.
Бейсик - на основі Фортрану.
Пайтон - з суміші мов.
swetikccc Дата: Нд, 27.08.2017, 13:02 | Повідомлення № 127
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Bandalak ()
Ага, значить від підпрограми отримуємо те, що написано після Return, і неважливо що там у заголовку!
Ось приклад на локальні і глобальні змінні
b=2
def asd(b):
    b=5
    return b
asd(b)
print(b)
b=asd(b)
print(b)
1 Забули про підпрограма, є функція.
2. Функція щось вертає.
3. Те що вертає функція краще присвоїти глобальним змінним, ніж пробувати їх загнати в функцію.
Ось приклад


Відредаговано: swetikccc - Нд, 27.08.2017, 13:09
Пилипчук_О_П Дата: Нд, 27.08.2017, 13:06 | Повідомлення № 128
Ветеран спілкування
Повідомлень: 3765
Нагороди: 28
Рейтинг: 309
Цитата Bandalak ()
Дано два цілих числа, n та m. За допомогою підпрограми окремо обчислити модулі даних двох чисел та суму цих чисел (все в тілі підпрограми).

Ще так можна:
Код

def func(y, x):
    return abs(y), abs(x), x+y
a,b,c=func(-4,5)
print (a,b,c)
swetikccc Дата: Нд, 27.08.2017, 13:08 | Повідомлення № 129
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Bandalak ()
Колись переходив з алгоритмічної мови на Бейсик, потім з Бейсика на Фортран, потім назад з Фортрану на Бейсик, потім з Бейсика на Паскаль. Якось особливих проблем з переходами не було, все було логічно.Тепер пробую перейти з Паскаля на Пітон, це набагато складніше. Зовсім інші принципи синтаксису та побудови програмних структур!
Ви ходили майже по одній і тій же гілочці, а от якби зайшли в Сішну було б легше.
От гарний приклад коли Паскаль своїми шорами не дозволяє швидко освоїти іншу мову.
Аналогічно було у мене з С++, забудьте про Паскаль і все.
Bandalak Дата: Нд, 27.08.2017, 13:14 | Повідомлення № 130
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
Цитата Пилипчук_О_П ()
Ще так можна:
Код

def func(y, x):
    return abs(y), abs(x), x+y
a,b,c=func(-4,5)
print (a,b,c)

А не можна відразу друкувати без переприсвоєння?

Код
def func(y, x):
    return abs(y), abs(x), x+y
print (func(-4,5))
swetikccc Дата: Нд, 27.08.2017, 13:37 | Повідомлення № 131
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Bandalak ()
А не можна відразу друкувати без переприсвоєння?
Друкуйте, але ви надрукували весь кортеж(список що не змінюється)
А ось для розуміння

def func(y, x):
    return abs(y), abs(x), x+y
a=func(-4,5)
print (a[0],a[2])
print(type(a))

Клас tuple це кортеж


Відредаговано: swetikccc - Нд, 27.08.2017, 13:38
Bandalak Дата: Нд, 27.08.2017, 13:50 | Повідомлення № 132
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
А хіба в цьому кортежі є ще щось, окрім цих трьох значень змінних, які містяться після Ретурна?
swetikccc Дата: Нд, 27.08.2017, 14:15 | Повідомлення № 133
Ветеран спілкування
Повідомлень: 3855
Нагороди: 24
Рейтинг: 341
Цитата Bandalak ()
А хіба в цьому кортежі є ще щось, окрім цих трьох значень змінних, які містяться після Ретурна?
Тільки три.
А ось попробував функці вертає список(масив)

def pricol(a,b):   
    mas =[2*a,2*b]
    return mas
mas2=pricol (2,5)
print(mas2 )
mas2 [0]=-100
print (mas2 )


Відредаговано: swetikccc - Нд, 27.08.2017, 14:18
Bandalak Дата: Нд, 27.08.2017, 14:47 | Повідомлення № 134
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
Прикольно. Колись на Паскалі учні хотіли так вивести масив, написавши врайт і його ім'я, а я їм заперечував, що потрібно виводити у циклі кожен елемент окремо.
А тепер виявилося, що так було можна, правда не в Паскалі!
gry Дата: Пн, 28.08.2017, 20:35 | Повідомлення № 135
Досвідчений учасник
Повідомлень: 1015
Нагороди: 2
Рейтинг: 100
https://www.jetbrains.com/pycharm-edu/
Безкоштовна версія PyCharmEdu. Працює нормально


Відредаговано: gry - Пн, 28.08.2017, 20:37
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Сторінка 9 з 12«12789101112»
Пошук:


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