Различия между версиями 5 и 6
Версия 5 от 2018-11-07 16:25:04
Размер: 2912
Редактор: FrBrGeorge
Комментарий:
Версия 6 от 2018-11-28 01:21:42
Размер: 3012
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 7: Строка 7:
  {{{#!pycon   {{{#!highlight pycon
Строка 24: Строка 24:
  {{{#!pycon   {{{#!highlight pycon
Строка 38: Строка 38:
  {{{#!pycon   {{{#!highlight pycon
Строка 45: Строка 45:
 {{{#!pycon  {{{#!highlight pycon
Строка 55: Строка 55:
 {{{#!pycon  {{{#!highlight pycon
Строка 65: Строка 65:
 {{{#!pycon  {{{#!highlight pycon
Строка 75: Строка 75:
 {{{#!pycon  {{{#!highlight pycon
Строка 83: Строка 83:
 {{{#!pycon  {{{#!highlight pycon
Строка 102: Строка 102:
  {{{#!pycon   {{{#!highlight pycon
Строка 119: Строка 119:
 {{{#!pycon  {{{#!highlight pycon

Строки (введение)

Большой разбор Д/З.

Строки — это неизменяемые последовательности:

  • 4 способа задания: "...", '...', и многострочные:

    •    1 >>> a="""dfsdfgsdfg
         2 ... "sdfgsdfg"sdfgsdfg
         3 ... ""sdfgsdfg"sdfgsdfg
         4 ... ewrtwertwert"""
         5 >>> print(a)
         6 dfsdfgsdfg
         7 "sdfgsdfg"sdfgsdfg
         8 ""sdfgsdfg"sdfgsdfg
         9 ewrtwertwert
        10 >>> b='''dsf
        11 ... '''
        12 >>> print(b)
        13 dsf
        14 
      
    • спецсимволы: переводы строки и табуляции
         1 >>> c="a\nb\nc"
         2 >>> c
         3 'a\nb\nc'
         4 >>> print(c)
         5 a
         6 b
         7 c
         8 >>> print("a\tb\tc\naa\tbb\tcc\naaa\tbbb\tccc")
         9 a       b       c
        10 aa      bb      cc
        11 aaa     bbb     ccc
        12 
      
    • спецсимволы: возврат каретки и прочее
         1 >>> for i in range(10):
         2 ...     print(i, end="\r")
         3 ...     time.sleep(1)
         4 ... 
      
  • проход циклом
       1 >>> for i in "ASDF":
       2 ...     print(i)
       3 ... 
       4 A
       5 S
       6 D
       7 F
       8 
    
  • индексация
       1 >>> a="1q2w3e4r5t"
       2 >>> a[0]
       3 '1'
       4 >>> a[3]
       5 'w'
       6 >>> a[-5]
       7 'e'
       8 
    
  • распаковка
       1 >>> d="QaWsEd"
       2 >>> print(d)
       3 QaWsEd
       4 >>> print(*d)
       5 Q a W s E d
       6 >>> print(*d, sep="##")
       7 Q##a##W##s##E##d
       8 
    
  • сложение и умножение
       1 >>> s="Qw"
       2 >>> s*2
       3 'QwQw'
       4 >>> s*2+"Zzz"*3
       5 'QwQwZzzZzzZzz'
       6 
    
  • секционирование
       1 >>> a="1q2w3e4r5t"
       2 >>> a[2:5]
       3 '2w3'
       4 >>> a[7:3:-1]
       5 'r4e3'
       6 >>> a[::-1]
       7 't5r4e3w2q1'
       8 >>> a[:5]
       9 '1q2w3'
      10 >>> a[::2]
      11 '12345'
      12 >>> a[-2::-2]
      13 '54321'
      14 
    

Особенности:

  • Строка хранит не последовательность объектов, а именно строку
  • Результат индексации a[i]новый объект

    • …причём этот объект — строка
         1 >>> a
         2 '1q2w3e4r5t'
         3 >>> a[4]
         4 '3'
         5 >>> type(a[4])
         6 <class 'str'>
         7 >>> type(a)
         8 <class 'str'>
         9 >>> a[4][0]
        10 '3'
        11 >>> a[4][0][0]
        12 '3'
        13 >>> a[4][0][0][0][0][0]
        14 '3'
        15 
      
  • Операция in ищет не наличие объекта в последовательности, а вхождения подстроки в строку

       1 >>> t = 1, "QWE", None, [], 7.7
       2 >>> 7.7 in t
       3 True
       4 >>> 'QWE' in t
       5 True
       6 >>> 'WE' in t
       7 False
       8 >>> s = "DSAQWERT"
       9 >>> 'A' in s
      10 True
      11 >>> 'SAQ' in s
      12 True
      13 >>> 'SAQE' in s
      14 False
      15 
    

Методы: не успели

Д/З

  1. Прочитать и прощёлкать восьмую главу учебника

  2. EJudge: CountLast 'Количество букв'

    (Использовать строковые методы в этой задаче запрещено). Ввести строку и посчитать, сколько раз в ней встречается её последний символ.

    Input:

    qwerqweqwerwerwertr
    Output:

    5
  3. EJudge: CountWords 'Количество слов'

    (Использовать строковые методы в этой задаче запрещено). Ввести строку, которая состоит только из латинских букв и пробелов. Посчитать количество слов в этой строке (слово — это последовательность букв, ограниченная одним или несколькими пробелами, а также началом или концом строки)

    Input:

        Catproof    is  an     oxymoron and  childproof nearly      so
    Output:

    8
  4. EJudge: DrawRect 'Рисуем рамочку'

    Ввести через запятую натуральные M и N и вывести рамочку M×N с точками, ограниченную "+" по углам, "|" по бокам и "-" сверху и снизу.

    Input:

    5,12
    Output:

    +----------+
    |..........|
    |..........|
    |..........|
    +----------+
  5. TODO задача для черепашки

Python/PsyPython2018/09_Strings (последним исправлял пользователь FrBrGeorge 2018-11-28 01:21:42)