34.89M
Категория: ПрограммированиеПрограммирование

М1У5 Циклы While

1.

Модуль 1. Урок 5.
Циклы While
➔ Minecraft и Python
Ссылка на методичку

2.

Модуль 1. Урок 5. Циклы While
Повторение

3.

Повторим основные
моменты, которые нам
понадобятся сегодня!
Повторение
пройденного материала
На прошлом уроке мы повторили
и закрепили наши знания о
Переменных, Условиях,
Координатами, Командами в
Python и подключением к серверу

4.

Input() в Python - это способ для вашей программы "спросить"
пользователя о каких-либо данных или ввести текст. Например, если
вы хотите, чтобы пользователь ввел свое имя, вы можете использовать
input() для того, чтобы получить это имя.
Программа приостановится и ждет, когда
пользователь введет текст.
Как только пользователь введет текст и
нажмет Enter, input() вернет этот текст в
вашу программу, и вы можете использовать
его для дальнейших вычислений или
вывода.
Повторение
пройденного материала
Что такое input()?

5.

1.==: Равно (проверяет, равны ли два значения).
2.!=: Не равно (проверяет, различаются ли два значения).
3.>: Больше (проверяет, является ли первое значение больше второго).
4.<: Меньше (проверяет, является ли первое значение меньше второго).
5.>=: Больше или равно (проверяет, является ли первое значение больше или равным второму).
6.<=: Меньше или равно (проверяет, является ли первое значение меньше или равным второму).
apples = int(input("Введите количество яблок: "))
if apples >= 10:
print(“Ты можешь наесться")
else:
print("Что-то мало яблок")
Повторение
пройденного материала
Какими бывают, операторы
сравнения?

6.

Булевое значение (или логическое значение) - это основной тип
данных в
программировании и математике, который может
принимать одно из двух возможных значений: истина (true) или ложь
(false).
Булевые значения используются для выполнения логических операций
и принятия решений в программах.
Примеры использования булевых значений:
• true (истина) может представлять факт, что что-то верно или
справедливо.
• false (ложь) может обозначать, что что-то неверно или ложно.
Повторение
пройденного материала
Что такое булевые значения?

7.

Новая тема:
Знакомство со средой
Roblox Studio
True — Истина
|truː|

8.

Новая тема:
Знакомство со средой
Roblox Studio
False — Ложь
|fɔːls|

9.

С помощью кнопки F3 либо же, сочетанием клавиш Fn+F3
на ноутбуке запустить вывод данных.
Повторение
пройденного материала
Как можно найти, свои
координаты в Minecraft?

10.

С помощью кнопки F3 либо же, сочетанием клавиш Fn+F3
на ноутбуке запустить вывод данных.
Повторение
пройденного материала
Как можно найти, свои
координаты в Minecraft?

11.

Модуль 1. Урок 5. Циклы While
Обсуждение:
Циклы While

12.

Циклы while в Python
Мы уже видели циклы в Python и даже знаем как они работают,
давайте же рассмотрим несколько примеров
1. Что делает данный цикл?
2. Перечислите все элементы скрипта, где находятся переменные,
команды?
3. Перепишите в IDLE и запустите, чтобы проверить его действие на
практике
count = 1
while count < 6: # пока
print(count)
count = count + 1
print("Цикл закончился")

13.

Циклы while в Python
Что делает данный цикл?
Запустите код и посмотрите вывод кода в IDLE
count = 1
while count < 6: # пока
print(count)
count = count + 1
print("Цикл закончился")

14.

Циклы while в Python
Что делает данный цикл?
Если, переписать и запустить данный код в IDLE.
В IDLE мы увидим, что код вывел нам цифры в IDLE и закончил свою работу

15.

Циклы while в Python
count = 1
while count < 6: # пока
print(count)
count = count + 1
print("Цикл закончился")
Всё верно:
Красным цветом, обозначены переменные
Оранжевым цветом, обозначен Цикл While
Зеленым цветом, обозначены команды в нашем
случае команда Print()

16.

Циклы while в Python
Перепишем ещё один похожий пример кода, который взаимодействует с
Minecraft.
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)

17.

Циклы while в Python
Чтобы лучше понять структуру и работу кода, постараемся
ответить на следующие вопросы:
1.
2.
3.
4.
Какие элементы нам уже знакомы в данном коде?
Какие элементы в коде, мы видим впервые?
Как вы думаете, для чего нам нужны эти элементы?
Что происходит если запустить код?
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)

18.

Циклы while в Python
1. Какие элементы нам уже знакомы в данном коде?
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
Синим выделены типы
данных, с которыми мы уже
знакомы: Переменные, Циклы,
Команды, операторы сравнения
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)

19.

Циклы while в Python
2. Какие элементы мы видим впервые?
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
Разберём одну из них!
Оранжевым цветом
выделены новые для нас
библиотеки, которые мы
импортировали!

20.

Новая тема:
Знакомство со средой
Roblox Studio
Random — Случайный
|ˈrændəm|

21.

Циклы while в Python
3. Как вы думаете, для чего нам нужны эти элементы?
import random
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
import random – это команда
на языке программирования
Python, которая импортирует
модуль ‘random’.
Этот модуль предоставляет
функции для генерации
случайных чисел
Например, с помощью random.randint(a, b) можно получить случайное целое число
в диапазоне от a до b включительно.

22.

Циклы while в Python
3. Как вы думаете, для чего нам нужны эти элементы?
random.randint(a, b)
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
count = 1
while count<10:
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
Например, с помощью random.randint(a, b)
можно получить случайное целое число в
диапазоне от a до b включительно. Если a
равно 40, а b равно 127, то функция
random.randint(40, 127) может вернуть
любое целое число от 40 до 127 включительно
с равной вероятностью.
Как вы уже поняли, мы
устанавливаем координаты
x,y,z случайным образом

23.

|taɪm|
Новая тема:
Знакомство со средой
Roblox Studio
Time — Время

24.

Циклы while в Python
3. Как вы думаете, для чего нам нужны эти элементы?
import time
import random
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
import time - это команда на языке
программирования Python, которая
импортирует модуль time.
count = 1
while count<10:
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
Этот модуль предоставляет функции для
y = random.randint(40, 127)
работы с временем.
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
Например, функция time.sleep(10) приостанавливает выполнение
программы на 10 секунд.

25.

Циклы while в Python
3. Как вы думаете, для чего нам нужны эти элементы?
random.randint(a,
b)
import random
import time
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
collections.Iterable = Iterable
Например, функция time.sleep(1)
mc = Minecraft.create()
приостанавливает выполнение программы на
указанное количество секунд в скобках.
count = 1
Это может быть полезно, например, при создании
while count<10:
пауз в коде или при необходимости добавить
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127) временную задержку между операциями.
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
time.sleep(1)
Программа засыпает на 1
секунду

26.

Циклы while в Python
4. Что происходит если запустить код?
У нас уже достаточно знаний чтобы, прочитать и понять весь код!
import random
import time
import collections
добавляем помощник со случайными числами
добавляем помощник с измерением времени
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
collections.Iterable = Iterable
mc = Minecraft.create()
count = 1
while count<10:
переменная < 10
#выбираем случайные координаты x,y,z
x = random.randint(-127, 127)
y = random.randint(40, 127)
z = random.randint(-127, 127)
count = count + 1
mc.player.setTilePos(x, y, z)
time.sleep(1)
Переменная которая равна 1
Цикл while, который будет работать пока
генерируем случайное число для координаты x от (-127 до 127)
генерируем случайное число для координаты y от (40 до 127)
генерируем случайное число для координаты x от (-127 до 127)
наша переменная сейчас равна 1, увеличиваем её на 1
телепортация на случайные координаты, которые мы установили
программа спит 1 секунду

27.

Бесконечный цикл While в Python
Если, в условии цикла while, поставить булевое значение True.
Цикл будет бесконечным!
while True:
print("Привет, я бесконечный цикл!")
print("Я вывожусь, когда условие равно False!")
Данный цикл while, будет выводиться бесконечно если условие равно True, если же
поменять условие на False. Цикл выполняться не будет и в чате покажется
следующая строчка.
1. Попробуйте вывести цикл вместе с булевым значением True.
2. После, поменяйте True на False!

28.

Перерыв

29.

Модуль 1. Урок 5. Циклы While
Работа в Minecraft:
Пишем программу
“Цветочный след”

30.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который
будет хранить в себе координаты игрока;
Добавить установку блоков, установить для
них координаты
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на
0.5 секунд.

31.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Откройте IDLE и создайте новый
файл под названием flowers.py,
поместите файл в папку с Minecraft
Tools.

32.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который
будет хранить в себе координаты игрока;
Добавить установку блоков, установить для
них координаты
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на
0.5 секунд.

33.

Программа “Цветочный след!”
Импортировать все необходимые команды и
инструменты для корректной работы Python:
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
Команды, которые сообщают Python, какие именно инструменты он будет дальше
использовать и заранее их подготовить.

34.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который
будет хранить в себе координаты игрока;
Добавить установку блоков, установить для
них координаты
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на
0.5 секунд.

35.

Программа “Цветочный след!”
Создать бесконечный цикл While, который будет хранить в себе
координаты игрока
Добавляем в наш код цикл: While True и команду отслеживания
координат getPos
while True:
pos = mc.player.getPos()
Цикл While, при условии True – бесконечный, поэтому наша
позиция бесконечно обновляется в переменной pos

36.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который
будет хранить в себе координаты игрока;
Добавить установку блоков, установить для
них координаты
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на
0.5 секунд.

37.

Программа “Цветочный след!”
Добавить установку блоков, установить для них координаты
Добавляем в наш строчку, которая будет за нами ставить нужные нам
блоки бесконечно: Если мы хотим, чтобы блоки создавались за нами
бесконечно, нужно добавить создание блоков в цикл While
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z,
block.WATER.id)
setBlock – принимает в себя такие параметры как: X, Y, Z
координаты чтобы поставить на это место блок и сам тип блока

38.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который будет
хранить в себе координаты игрока;
Добавить установку блоков, установить для них
координаты и выбрать тип: Вода/Лава/Лёд
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на 0.5
секунд.

39.

Программа “Цветочный след!”
Добавить модуль работы со временем
Для этого, нам нужно импортировать модуль работы со
временем time
Чтобы, наш ПК не сильно нагружался и не так часто создавал
лаву!
Нужно сделать, чтобы программа уходила в сон на 0.5 секунд
import time
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z, block.TNT.id)
time.sleep(0.5)

40.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за нами след похожий на
цветочки!
Создать новый файл flowers.py в IDLE;
Импортировать все необходимые команды и
инструменты для корректной работы Python;
Создать бесконечный цикл While, который будет
хранить в себе координаты игрока;
Добавить установку блоков, установить для них
координаты и выбрать тип: Вода/Лава/Лёд
Добавить модуль работы со временем;
Сделать так, чтобы программа засыпала на 0.5
секунд.

41.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за
нами след похожий на цветочки!
Результат:
import time
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z, block.WATER.id)
time.sleep(0.5)

42.

Программа “Цветочный след!”
Цель: С помощью чек-листа написать программу, которая будет оставлять за
нами след похожий на цветочки!
Результат:
Наша программа, во время нашего полета создает за нами блоки
Воды/Лавы/Льда, которые при падении создают форму похожую на цветок!

43.

Программа “Цветочный след!”
Для изменения блока, замените ключевое слово block.WATER.id , на другой
элемент
import time
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z, block.WATER.id)
time.sleep(0.5)

44.

|ˈwɔːtər|
Новая тема:
Знакомство со средой
Roblox Studio
Water — Вода

45.

Программа “Цветочный след!”
Для изменения блока, замените ключевое слово block.WATER.id , на другой
элемент
import time
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z, block.LAVA.id)
time.sleep(0.5)

46.

|ˈlɑːvə|
Новая тема:
Знакомство со средой
Roblox Studio
Lava — Лава

47.

Программа “Цветочный след!”
Для изменения блока, замените ключевое слово block.WATER.id , на другой
элемент
import time
import collections
import mcpi.block as block
from mcpi.minecraft import Minecraft
from collections.abc import Iterable
mc = Minecraft.create()
collections.Iterable = Iterable
while True:
pos = mc.player.getPos()
mc.setBlock(pos.x, pos.y, pos.z, block.ICE.id)
time.sleep(0.5)

48.

|aɪs|
Новая тема:
Знакомство со средой
Roblox Studio
Ice — Лёд

49.

Модуль 1. Урок 5. Циклы While
Завершение
урока

50.

Что нового вы
сегодня узнали?
Что было
сложным или
непонятным?
Подведение
итогов занятия
Как прошло занятие?

51.

52.

Зал славы
Делитесь проектами
с другими учениками

53.

Зал славы
Пространство, в котором
ребята делятся друг
с другом проектами,
играми, идеям.
В зале славы ребята
общаться и соревнуются
Зал славы

54.

Тренды
Блок с новыми проектами, которые набирают
популярность. Проекты в этом блоке помогают
понять, что происходит в Зале славы.
В трендах отражены проекты, в которых больше
всего лайков и комментариев за день, неделю
или месяц.
Зал славы

55.

Просмотр
проектов
Зал славы
Проекты отображаются по новизне,
популярности и количеству комментариев,
а также можно посмотреть проекты «Селебрити»,
друзей, и проекты по отдельным предметам

56.

Селебрити
Ученики, которые
делают классные
проекты и побеждают в
конкурсах получают
особый статус:
«Селебрити».
Студент получивший
статус селебрити
получает синий значок
Зал славы

57.

Проекты
Смотрите работы других
учеников, играйте в игры.
Ставьте реакции,
делитесь комментариями
и обсуждайте проекты.
Зал славы

58.

Правила зала славы
Когда публикуете проекты или пишите комментарии,
убедитесь, что не нарушаете правила:
English     Русский Правила