Python DEMO v2

@pythondemo-v2

Learning programming through mental visualization and Python

Public team

Joined on Oct 9, 2020

  • задачі, де потрібні інтелектуальні рішення задачі, де потрібні інтелектуальні рішення логічні задачки пазли математичні задачки стратегії в іграх симуляція інтелекту
     Like  Bookmark
  • alphabetizequiz.py: алфавіт, треба поставити букви у алфавітному порядку bagels.py: вгадати число, схоже на бики-корови birthdayparadox.py: парадокс днів народження bitmapmessage.py: (маленька) текст картинкою, через маску calendarmaker.py: календарик clickbait.py (не перекладено) генерує веселі клікбейти coinflipsimulator.py симуляція підкидання монетки conwaysgameoflife.py, Гра Життя countdown.py зворотній відлік до вибуху deepcave.py (маленька) генерує печеру
     Like  Bookmark
  • https://github.com/vinta/awesome-python#command-line-tools Консольні штучки ipython howdoi requests Вивести всі версії Майнкрафта
     Like 1 Bookmark
  • Є така гра, називається Minecraft. Ця гра запускається через "лаунчер". :::info launcher: з англійської "to launch" --- запустити, наприклад, "to launch a rocket" --- запустити ракету. Запускатор, запускальщик по нашому. ::: Навіть якщо ви запускаєте гру даблкліком на робочому столі, це запускає лаунчер, з якого запускається сама гра.
     Like  Bookmark
  • Нульові значення Найпростіші нульові значення Тип Як записується "нуль" Альтернативні записи int (ціле число) 0 0x0, 0X0, 0o0, 0O0, 0b0, 0B0 +0 (++0, +++0, ...)-0 (--0, ---0, ...)00, 000, 0000, 00000, ...0_0, 0_00, 0_0_0, ...0o0_0, 0x0_00_0, --0b00_0, ... int()
     Like  Bookmark
  • Задача Потрібно зашифрувати текст підстановкою символів. Для кожної букви алфавіту є відповідна буква шифрованого алфавіту. Наприклад, букви replace_from = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя' " потрібно перетворити у відповідні символи: replace_to = "he*vd%qa ptkmj+gfx'rylzi@!ubwsc$=no" Великі букви перетворити у маленькі, потім зробити заміну букв, а якщо якихось символів немає в першому списку, просто проігнорувати їх.
     Like  Bookmark
  • Якщо треба вийти/відмінити/перервати Спочатку спробуйте клавішу q або Esc Скорочено від QUIT. Вона працює як "вихід" у багатьох програмах --- в tig, htop, less, ranger, ncdu, man, ... Потім Ctrl-c Хоч це такий же хоткей як "скопіювати", в лінукс терміналах він означає "перервати роботу". Для Vim Esc :q!Enter Це виходу з редактору Vim/Neovim. Якщо з першого разу не спрацювало, спробуйте ще кілька разів.
     Like  Bookmark
  • Інфо У цих прикладах lst --- це якийсь список. :::info "Повернути" означає "перетворити у". Наприклад, якщо команда отримує список на вхід та "повертає число", то насправді вона перетворює цей список на число. ::: Команди створення списків lst = [...] --- створення списку і присвоєння йому імені. Замість ... треба написати елементи через кому
     Like  Bookmark
  • Умовний оператор: це конструкція if COND1: print("Надрукує, коли COND1 є True") elif COND2: print("Надрукує, коли COND1 є False, а COND2 є True") ... elif COND3: print("Надрукує, коли COND1 є False, COND2 є False, a COND3 є True") ...
     Like  Bookmark
  • Завдання по черепашці, де учні знайомляться з основними ідеями програмування level 1 --- команди перетворюються у кольоровий малюнок level 2 --- команди можна повторювати, групувати, а групи команд (процедури) можна використовувати кілька разів. А також параметризація level 3 --- додавання інтерактиву через події та хуки level 3.5 --- організація великого з маленького level 3.8 --- основи руху, по формулам level 4 --- хаотичний рух та багато черепашок Екстра завдання:
     Like  Bookmark
  • # Цикл з акумулятором
     Like  Bookmark
  • Російська рулетка Це класична російська рулетка, з револьвером і шестизарядним барабаном, куди вставлено один патрон. Задача 1 Реалізувати раунд російської рулетки. Тобто при запуску програми вона пише, що "барабан крутиться", чекає 2 секунди, "натискання на курок" і результат --- мимо чи капут. Потрібно провести 100000 ігор і визначити, яка ймовірність вижити в цій грі. Задача 2 При старті прорама питає, скільки гравців і яким по черзі знаходитесь ви. Після цього гра йде по кругу:
     Like  Bookmark
  • Задачі Задача 1 if True: print("Тест 1") if False: print("Тест 2") Задача 1.5 if False:
     Like  Bookmark
  • Намалювати квадрат Щоб вказати колір, потрібно зробити: turtle.color(color1, color2) Замість color1 та color2 треба написати якісь з кольорів: "green", "black", "orange", "red", "white", "gray", ... HTML формат "#FF0000", "00FFFF", "#FACE00", ...
     Like  Bookmark
  • В Пайтоні (і в C#, і в кількох інших мовах) існує поняття "генератор" та "ітератор". Вони були придумані, щоб змінити спосіб, яким пишуться програми. Інтро, який я зроблю, буде основуватись на Факторіо, бо механізми конвеєрів дуже схожі на те, як працюють генератори "under the hood" Факторіо, генератори та пайплайни Producer, або початковий генератор Тут зображено механізм, який постійно викладає на конвеєр ресурси для сайенсу. В пайтоні ми би записали це як: import time
     Like  Bookmark
  • 1. starter.py --- виконувати в терміналі Всі завдання повинні бути виконані в один рядок. Думайте про Пайтон, як про калькулятор на стероїдах. 1.1 Степінь Обчислити $2^{2}$ Обчислити $2021^{2}$ Обчислити $2^{2021}$ Обчислити $2021^{2021}$ Грали колись в шахи? На шаховій дошці $n = 8\times 8$ клітинок. Якщо на першу клітинку покласти 1 зернинку, на другу --- 2, на третю --- 4, на четверту --- 8, на п'яту --- 16, і так далі, на кожну наступну в два рази більше ніж на попередню, то всього на дошку буде викладено $2^{n}-1$ зернинок. Яка маса зерна в тоннах, яке викладено на шахову дошку, якщо одна зернинка важить 0.00065 кг? Це більше тисячі тон, чи менше?
     Like  Bookmark
  • Easy def my_times(a, b) Реалізувати множення чисел через додавання. $$ a\times b = \sum_{i=1}^a{b} $$ def my_power(x, p) Реалізувати піднесення до степеня через множення
     Like  Bookmark
  • Найкращий та найповніший документ по типам даних в Пайтоні знаходиться на офіційному сайті: https://docs.python.org/3/reference/datamodel.html#the-standard-type-hierarchy Числові типи (незмінні) int float bool Перетворення типів: print(int(12.0)) # 12 print(int(12.5)) # 12
     Like  Bookmark
  • Ці алгоритми всі використовують матрицю --- двовимірний масив (як в numpy) або список списків (нативно в Пайтоні). Іноді можна реалізувати матрицю як список рядків (але це для випадків, коли цю матрицю не потрібно буде змінювати в процесі). В задачах (якщо не сказано іншого) потрібно повернути нову матрицю, а не змінювати матрицю на вході. Створення матриці Створити матрицю NxM елементів, яка складається з нулів. In [12]: gen_matrix(10, 5)
     Like  Bookmark
  • Функція input() дозволяє отримати від юзера якийсь текст. Функція print() дозволяє вивести якийсь текст на екран. Функція int() перетворює рядок на число. Приклад 1. :::info Завдання: отримати від юзера два числа і надрукувати їх добуток. ::: n1 = int(input("Введи перше число: "))
     Like  Bookmark