Различия между версиями 8 и 9
Версия 8 от 2021-03-21 20:56:07
Размер: 5164
Редактор: FrBrGeorge
Комментарий:
Версия 9 от 2021-04-04 22:04:02
Размер: 5163
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 47: Строка 47:
 1. Модифицировать '''Задачу 1''' так, чтобы допускались также вещественные числа с фиксированной точкой (возможно, поможет [[pytdoc3:re]])  1. Модифицировать '''Задачу 1''' так, чтобы допускались также вещественные числа с фиксированной точкой (возможно, поможет [[py3doc:re]])

03.15 Git: трёхстороннее слияние; tkinter: события и ввод

  • Повторение: интерференция коммитов в git
    • diff3 и ему подобные

    • ручное вмешательство при merge или rebase (правка, коммит, continue) — или abort

    • формат 3way diff файла
  • {i} упражнение: merge интерферирующих веток, разрешение конфликтов

    • Создайте и закоммитьте файл "snark.txt" с текстом, приведённым ниже на врезке
    • Создайте и поместите в рабочую копию (git checkout -b) ветку "snark"
    • Во второй строке замените "вокруг" на "кругом", сделайте коммит.
    • Создайте и поместите в рабочую копию ветку "snark_alt", начинающуюся от коммита с первоначальным текстом.
    • Во второй строке замените "Потрясавший" на "Ужасавший", в последней - "со страху сбивался" на "от ужаса сбился", сделайте коммит (один на оба изменения)
    • Верните в рабочую копию ветку "snark"
    • Сделайте merge ветки "snark_alt" на ветку "snark" (возникнет конфликт правок во второй строке); объедините вручную правки во второй строке - должно получиться "Ужасавший кругом всю округу". Обратите внимание, что изменение в последней строке не породило конфликта и не требует ручного объединения.
    • Врезка с текстом:

И Бобер, сам не свой, слушал бешеный вой,
Потрясавший вокруг всю округу.
А когда в третий раз вой всю душу потряс,
Он вздрохнул и ахрюкнул с испугу.

Он делил, отнимал, умножал, прибавлял.
Тяжела оказалась работа.
И опять, и опять начинал он считать,
Но со страху сбивался со счета.
  • Использование mergetool (kdiff3 / [g]vimdiff / …)

    • {i} упражнение: rebase интерферирующих веток c kdiff3 или gvimdiff

  • Повторение: события в Tkinter

    • bind и формат обработчика

  • {i} Упражнение: две кнопки, при нажатии выводят имя, при нажатии левой кнопкой — нажимают ещё и на соседнюю кнопку

  • Повторение: Entry

    • Использование валидатора
  • <!> Задача 1: написать tkinter-приложение которое позволяет вводить только целые числа (положительные или отрицательные)

    • Интерфейс: окно ввода и одна кнопка "Quit", по которой происодит выод
    • Работа: окно разрешает вводить только числа (допустимы пустая строка и "-", == 0 )
    • При выходе а стадартый вывод печатается введённое число
  • <!> Задача 2: написать tkinter-приложение, в котором виджеты влияют друг на друга и обрабатывают события

    • Интерфейс: окно ввода, выпадающее меню (опции "One", "Two", "Three"), кнопки "Insert" и "Show", текстовая метка (начальный текст "Default")
    • Окно ввода разрешает вводить строки не длиннее 10 символов
    • Кнопка "Insert" вставляет в окно ввода (добавляет в конец) текст выбранного пункта выпадающего меню
    • Кнопка "Show" устанавливает в текстовую метку текст из окна ввода
    • При попадании мыши на текстовую метку (событие "<Enter>"), текст метки устанавливается в "Hi Mouse"

    • При уходе мыши из текстовой метки (событие "<Leave>"), текст метки устанавливается в "Bye Mouse"

Д/З

  1. Модифицировать Задачу 1 так, чтобы допускались также вещественные числа с фиксированной точкой (возможно, поможет re)

  2. Доделать Задачу 2

LecturesCMC/PythonDevelopment2021/Prac/04_PublicRepositoryEvents (последним исправлял пользователь FrBrGeorge 2021-04-04 22:04:02)