Различия между версиями 9 и 10
Версия 9 от 2020-10-06 23:22:53
Размер: 7029
Редактор: FrBrGeorge
Комментарий:
Версия 10 от 2020-10-07 09:35:31
Размер: 7090
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 86: Строка 86:
 1. Произвольная точность. Вводится две строки: произвольная функция над `x`, содержащая арифметические операции и имеющая корень на интервале `(-1.5, 1.5)`, и натуральное число D. Вывести корень данной функции в виде числа, содержащего ровно D знаков после запятой. Воспользоваться [[py3doc:decimal.html#context-objects|десятичным контекстом]] для задания точности (см. примеры выше на странице документации).  1. Произвольная точность. Вводится две строки: произвольная функция над `x`, содержащая арифметические операции, имеющая единственный корень на интервале `(-1.5, 1.5)` и непрерывная на нём, и натуральное число D. Вывести корень данной функции в виде числа, содержащего ровно D знаков после запятой. Воспользоваться [[py3doc:decimal.html#context-objects|десятичным контекстом]] для задания точности (см. примеры выше на странице документации).

Числа и строки

Числа (попытка №3, на этот раз успеем ☺)

  • Комплексные числа из коробки
  • import math vs. from math import *

  • вычисления в рациональных числах с помощью decimal и fractions

    • decimal.Decimal(1.1) vs. decimal.Decimal("1.1")

    • fractions.Fraction(1/3) vs. fractions.Fraction(1,3)

  • Про функцию atan2() — см. Atan2

(если уж совсем много времени будет, то про random, но нет)

Строки

  • Внутреннее unicode-представление
  • 4 способа задания строк
  • строки как последовательности
  • Особенности (повторение):
    • a[5] === a[5:6] (так ли это? :) )

    • asd" in "qwasdgfh"

Строковые методы

Базовая статья

  • endswith(), startswith(),

  • find(), index(), count(),

  • isalnum(), isalpha(), isdecimal(), isdigit(), isidentifier(), islower(), isnumeric(), isprintable(), isspace(), istitle(), isupper(),

  • center(), rjust(), ljust(),

  • lower(), upper(), swapcase(), title(), capitalize(), casefold(),

  • replace(),

  • strip(), expandtabs(),

  • zfill(),

  • rfind(), rindex(), rpartition(), rsplit(), rstrip(), lstrip(),

split() и join()

  • split(), splitlines(), join()

Форматные строки

Базовая статья

Спецсимволы и необработанные строки

  • Специмволы
  • r"..."

Байтовые строки и «массивы»

  • bytes
    • .encode()/.decode()
  • bytearray
  • бНОПНЯ!

Д/З

  1. Прочитать и прощёлкать про строки в учебнике, в документации, а также про форматирование строк в учебнике и в документации.

TODO

  1. Стакан: вводится ASCII-art с изображением стакана с водой, падающего в ведро (последняя строка — пустая). Толщина стенок стакана — 1, к стенкам ведра (для удобства проверки:) не прикасается.
    ..........
    ..........
    .#....#...
    .#....#...
    .#****#...
    .#****#...
    .#****#...
    .#****#...
    .######...
    ..........
    ..........
    ..........
    • После падения стакан оказывается на боку в левом углу ведра, а вода из него выливается, заполняя ровным слоем дно ведра и заслоняя стакан (толщина слоя округляется в большую сторону). Вывести ведро с упавшим стаканом (он туда помещается, проверять н надо):

    ..........
    ..........
    ..........
    ..........
    ..........
    ..........
    #######...
    #.........
    #.........
    #.........
    **********
    **********
  2. Произвольная точность. Вводится две строки: произвольная функция над x, содержащая арифметические операции, имеющая единственный корень на интервале (-1.5, 1.5) и непрерывная на нём, и натуральное число D. Вывести корень данной функции в виде числа, содержащего ровно D знаков после запятой. Воспользоваться десятичным контекстом для задания точности (см. примеры выше на странице документации).

    • Ввод:
    1+x*3
    20
    • Вывод:
      -0.33333333333333333333
  3. Чемпионы дзена. Ввести построчно список участников некоторого соревнования на скорость неизвестно чего в виде
    Имя Фамилия Название команды часы:минуты:секунды
    
    Например:
    Модест Камноедов НИИЧАВО 10:0:0
    Николай Долгоносиков Телепаты и спириты 5:3:31
    Рудольф Хлебовводов ТПРУНЯ 5:43:55
    Лавр Вунюков ТПРУНЯ 6:12:12
    Эдельвейс Машкин Пенсионеры-изобретатели 5:3:31
    Анатолий Скворцов Золотые руки Китежграда 2:14:3
    Амвросий Выбегалло НИИЧАВО 6:12:12
    (последняя строка пустая), и вывести всех, кто занял первые три места (минимальное затраченное неизвестно на что время; одно место может занять несколько человек, если время совпадает), в порядке возрастания времени, а внутри одного времени — лекcикографически: фамилия, имя, команда. Дополнительное условие: таблица чемпионов должна быть аккуратной: поля «Имя», «Фамилия», «Название команды» и «Время» должны начинаться в одной колонке, но при этом быть максимально «упакованными»: столбцы в таблице должны быть разделены ровно одним пробелом.
    Анатолий  Скворцов     Золотые руки Китежграда 2:14:3
    Николай   Долгоносиков Телепаты и спириты      5:3:31
    Эдельвейс Машкин       Пенсионеры-изобретатели 5:3:31
    Рудольф   Хлебовводов  ТПРУНЯ                  5:43:55

LecturesCMC/PythonIntro2020/05_StringsNumbers (последним исправлял пользователь FrBrGeorge 2020-10-08 12:07:35)