├── 003 Введение в python └── python base.ipynb └── README.md /003 Введение в python/python base.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "9d8c8f08", 6 | "metadata": {}, 7 | "source": [ 8 | "## Автор: Петр Ермаков / ermakovpetr\n", 9 | "## Лекция: Введение в python\n", 10 | "*Лицензия: CC BY-NC-SA 4.0,*\n", 11 | "\n", 12 | "*для коммерческого использования связаться с автором*" 13 | ] 14 | }, 15 | { 16 | "cell_type": "markdown", 17 | "id": "06448cca", 18 | "metadata": {}, 19 | "source": [ 20 | "NB: \n", 21 | "\n", 22 | " - это не исчерпывающее руководство, но достаточное, на мой взгляд, для старта\n", 23 | "\n", 24 | " - все субъективные оценки - мнение автора\n", 25 | " \n", 26 | " - намерено сделаны упрощения и упущения, чтобы не переусложнить и без того сложную тему для новичков\n", 27 | " \n", 28 | " - все демонстрируется на версии python 3.9.10" 29 | ] 30 | }, 31 | { 32 | "cell_type": "markdown", 33 | "id": "f237f5fa", 34 | "metadata": {}, 35 | "source": [ 36 | "### Переменные и комментарии" 37 | ] 38 | }, 39 | { 40 | "cell_type": "code", 41 | "execution_count": 1, 42 | "id": "edbc6123", 43 | "metadata": {}, 44 | "outputs": [], 45 | "source": [ 46 | "variable = 10 # не указываем тип как, например, Java" 47 | ] 48 | }, 49 | { 50 | "cell_type": "markdown", 51 | "id": "858f909e", 52 | "metadata": {}, 53 | "source": [ 54 | "имя = значение" 55 | ] 56 | }, 57 | { 58 | "cell_type": "markdown", 59 | "id": "e323499b", 60 | "metadata": {}, 61 | "source": [ 62 | "\\# и коммент до конца строки" 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 2, 68 | "id": "33bea2d6", 69 | "metadata": {}, 70 | "outputs": [ 71 | { 72 | "name": "stdout", 73 | "output_type": "stream", 74 | "text": [ 75 | "10\n" 76 | ] 77 | } 78 | ], 79 | "source": [ 80 | "print(variable)" 81 | ] 82 | }, 83 | { 84 | "cell_type": "code", 85 | "execution_count": 3, 86 | "id": "5b850b2a", 87 | "metadata": {}, 88 | "outputs": [], 89 | "source": [ 90 | "# а код ниже выпрлнен не будет, так как это комментарий\n", 91 | "# print(variable)" 92 | ] 93 | }, 94 | { 95 | "cell_type": "markdown", 96 | "id": "bda30295", 97 | "metadata": {}, 98 | "source": [ 99 | "Обратите внимание на переменную:\n", 100 | "\n", 101 | " - мы не объявляляем заранее переменную\n", 102 | "\n", 103 | " - мы не указываем тип\n", 104 | " \n", 105 | "Обратите внимание на комментарий:\n", 106 | "\n", 107 | " - он действует только с первой #\n", 108 | " \n", 109 | " - действует до конца строки\n", 110 | " \n", 111 | " - начав комментарий на строки, его не \"остановить\", теперь все комментарий до конца строки\n", 112 | " \n", 113 | " - он однострочный" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 4, 119 | "id": "8cf31267", 120 | "metadata": {}, 121 | "outputs": [], 122 | "source": [ 123 | "variable = 15" 124 | ] 125 | }, 126 | { 127 | "cell_type": "code", 128 | "execution_count": 5, 129 | "id": "459df87e", 130 | "metadata": {}, 131 | "outputs": [ 132 | { 133 | "name": "stdout", 134 | "output_type": "stream", 135 | "text": [ 136 | "15\n" 137 | ] 138 | } 139 | ], 140 | "source": [ 141 | "print(variable)" 142 | ] 143 | }, 144 | { 145 | "cell_type": "code", 146 | "execution_count": 6, 147 | "id": "cae8dab3", 148 | "metadata": {}, 149 | "outputs": [], 150 | "source": [ 151 | "variable = 'string_petr'" 152 | ] 153 | }, 154 | { 155 | "cell_type": "code", 156 | "execution_count": 7, 157 | "id": "7a1805b3", 158 | "metadata": {}, 159 | "outputs": [ 160 | { 161 | "name": "stdout", 162 | "output_type": "stream", 163 | "text": [ 164 | "string_petr\n" 165 | ] 166 | } 167 | ], 168 | "source": [ 169 | "print(variable)" 170 | ] 171 | }, 172 | { 173 | "cell_type": "markdown", 174 | "id": "73251011", 175 | "metadata": {}, 176 | "source": [ 177 | "Круто же, \"переобулись на лету\"\n", 178 | "\n", 179 | "Это динамическая типизация\n", 180 | "\n", 181 | "Тип у переменной возникает в момент выполнения" 182 | ] 183 | }, 184 | { 185 | "cell_type": "code", 186 | "execution_count": 8, 187 | "id": "bd257188", 188 | "metadata": {}, 189 | "outputs": [ 190 | { 191 | "name": "stdout", 192 | "output_type": "stream", 193 | "text": [ 194 | "10 10 10\n" 195 | ] 196 | } 197 | ], 198 | "source": [ 199 | "переменная = 10\n", 200 | "va_r = 10\n", 201 | "BlaBLAbla = 10\n", 202 | "print(переменная, va_r, BlaBLAbla)" 203 | ] 204 | }, 205 | { 206 | "cell_type": "markdown", 207 | "id": "37f5831f", 208 | "metadata": {}, 209 | "source": [ 210 | "Но часть из этих примеров, плохой тон\n", 211 | "\n", 212 | "Я рекомендую использовать имена переменных:\n", 213 | "\n", 214 | " - только латиницей\n", 215 | " \n", 216 | " - не транслит peremennoj, а английские названия\n", 217 | " \n", 218 | " - короткие имена переменных (a, b, i, j, k, x, y, ...) используйте в особых случая (позже расскажем в каких)\n", 219 | " \n", 220 | " - название переменной должно соответствовать содержимому: distance, address, ...\n", 221 | " \n", 222 | " - если хотите сделать название переменной из нескольких слов, используйте символ нижнего подчеркивания _\n", 223 | " \n", 224 | " - использовать только заглавные или только маленькие буквы\n", 225 | "\n", 226 | " - заглавные для констант (переменную которую установили один раз и больше менять не планируете)\n", 227 | " \n", 228 | " - для остальных случаев маленькие" 229 | ] 230 | }, 231 | { 232 | "cell_type": "code", 233 | "execution_count": 9, 234 | "id": "2d83aec2", 235 | "metadata": {}, 236 | "outputs": [], 237 | "source": [ 238 | "LENGTH_OF_EARTH_EQUATOR = 40075\n", 239 | "speed_runner = 21\n", 240 | "next_phone_number = '274-10-01'" 241 | ] 242 | }, 243 | { 244 | "cell_type": "markdown", 245 | "id": "ed0c6f12", 246 | "metadata": {}, 247 | "source": [ 248 | "Такой стиль имеет название - snake_case\n", 249 | "\n", 250 | "Альтернатива - CamelCase\n", 251 | "\n", 252 | "Но в python использовать CamelCase для названия переменных - дурной тон" 253 | ] 254 | }, 255 | { 256 | "cell_type": "markdown", 257 | "id": "a055056d", 258 | "metadata": {}, 259 | "source": [ 260 | "Давайте посмотрим пока на 2 числовых типа переменных в python\n", 261 | "\n", 262 | " - целые числа\n", 263 | "\n", 264 | " - вещественные числа\n", 265 | " \n", 266 | "Есть еще комплексные, но они нам пока не нужны" 267 | ] 268 | }, 269 | { 270 | "cell_type": "code", 271 | "execution_count": 10, 272 | "id": "f29aee36", 273 | "metadata": {}, 274 | "outputs": [], 275 | "source": [ 276 | "int_variable_1 = 1_000_000\n", 277 | "int_variable_2 = -3\n", 278 | "int_variable_3 = 0\n", 279 | "int_variable_4 = 9174098397298719248135710849173" 280 | ] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": 11, 285 | "id": "1a2bff3f", 286 | "metadata": {}, 287 | "outputs": [ 288 | { 289 | "name": "stdout", 290 | "output_type": "stream", 291 | "text": [ 292 | "1000000\n" 293 | ] 294 | } 295 | ], 296 | "source": [ 297 | "print(int_variable_1)" 298 | ] 299 | }, 300 | { 301 | "cell_type": "markdown", 302 | "id": "84f36ecb", 303 | "metadata": {}, 304 | "source": [ 305 | "Это целые числа, ограничения нет, именуется **int**" 306 | ] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "execution_count": 12, 311 | "id": "4af73b9d", 312 | "metadata": {}, 313 | "outputs": [ 314 | { 315 | "data": { 316 | "text/plain": [ 317 | "int" 318 | ] 319 | }, 320 | "execution_count": 12, 321 | "metadata": {}, 322 | "output_type": "execute_result" 323 | } 324 | ], 325 | "source": [ 326 | "type(int_variable_4)" 327 | ] 328 | }, 329 | { 330 | "cell_type": "code", 331 | "execution_count": 13, 332 | "id": "defef228", 333 | "metadata": {}, 334 | "outputs": [], 335 | "source": [ 336 | "float_variable_1 = .01\n", 337 | "float_variable_2 = -3.1415926535 # в видео тут была ошибка и вместо точки стояла запятая\n", 338 | "# так вот, должна быть точка! в вещественных числах в python-е - точка!\n", 339 | "float_variable_3 = 10.0\n", 340 | "float_variable_4 = 0.000000000001" 341 | ] 342 | }, 343 | { 344 | "cell_type": "code", 345 | "execution_count": 14, 346 | "id": "79c907e0", 347 | "metadata": {}, 348 | "outputs": [ 349 | { 350 | "name": "stdout", 351 | "output_type": "stream", 352 | "text": [ 353 | "0.01\n" 354 | ] 355 | } 356 | ], 357 | "source": [ 358 | "print(float_variable_1)" 359 | ] 360 | }, 361 | { 362 | "cell_type": "markdown", 363 | "id": "33543bf5", 364 | "metadata": {}, 365 | "source": [ 366 | "Это целые числа, ограничения нет, именуется **float**" 367 | ] 368 | }, 369 | { 370 | "cell_type": "code", 371 | "execution_count": 15, 372 | "id": "597f0ae2", 373 | "metadata": {}, 374 | "outputs": [ 375 | { 376 | "data": { 377 | "text/plain": [ 378 | "float" 379 | ] 380 | }, 381 | "execution_count": 15, 382 | "metadata": {}, 383 | "output_type": "execute_result" 384 | } 385 | ], 386 | "source": [ 387 | "type(float_variable_3)" 388 | ] 389 | }, 390 | { 391 | "cell_type": "markdown", 392 | "id": "a10e398c", 393 | "metadata": {}, 394 | "source": [ 395 | "Что можно делать с числами?\n", 396 | "Как в школе - арифметические операции:" 397 | ] 398 | }, 399 | { 400 | "cell_type": "markdown", 401 | "id": "155ad5ed", 402 | "metadata": {}, 403 | "source": [ 404 | "Сложение: +\n", 405 | " \n", 406 | "Вычитание: -\n", 407 | "\n", 408 | "Умножение: *\n", 409 | "\n", 410 | "Деление: /\n", 411 | "\n", 412 | "Целочисленное деление: //\n", 413 | "\n", 414 | "Остаток от деления: %\n", 415 | " \n", 416 | "Возведение в степень: **" 417 | ] 418 | }, 419 | { 420 | "cell_type": "code", 421 | "execution_count": 16, 422 | "id": "5faee511", 423 | "metadata": {}, 424 | "outputs": [ 425 | { 426 | "data": { 427 | "text/plain": [ 428 | "128" 429 | ] 430 | }, 431 | "execution_count": 16, 432 | "metadata": {}, 433 | "output_type": "execute_result" 434 | } 435 | ], 436 | "source": [ 437 | "123 + 5" 438 | ] 439 | }, 440 | { 441 | "cell_type": "code", 442 | "execution_count": 17, 443 | "id": "c1461ef2", 444 | "metadata": {}, 445 | "outputs": [ 446 | { 447 | "data": { 448 | "text/plain": [ 449 | "41" 450 | ] 451 | }, 452 | "execution_count": 17, 453 | "metadata": {}, 454 | "output_type": "execute_result" 455 | } 456 | ], 457 | "source": [ 458 | "42 - 1" 459 | ] 460 | }, 461 | { 462 | "cell_type": "code", 463 | "execution_count": 18, 464 | "id": "dd1fa468", 465 | "metadata": {}, 466 | "outputs": [ 467 | { 468 | "data": { 469 | "text/plain": [ 470 | "45.0" 471 | ] 472 | }, 473 | "execution_count": 18, 474 | "metadata": {}, 475 | "output_type": "execute_result" 476 | } 477 | ], 478 | "source": [ 479 | "5 * 9.0" 480 | ] 481 | }, 482 | { 483 | "cell_type": "code", 484 | "execution_count": 19, 485 | "id": "d55dc73d", 486 | "metadata": {}, 487 | "outputs": [ 488 | { 489 | "data": { 490 | "text/plain": [ 491 | "111.0" 492 | ] 493 | }, 494 | "execution_count": 19, 495 | "metadata": {}, 496 | "output_type": "execute_result" 497 | } 498 | ], 499 | "source": [ 500 | "999 / 9" 501 | ] 502 | }, 503 | { 504 | "cell_type": "code", 505 | "execution_count": 20, 506 | "id": "0643b3fc", 507 | "metadata": {}, 508 | "outputs": [ 509 | { 510 | "data": { 511 | "text/plain": [ 512 | "3" 513 | ] 514 | }, 515 | "execution_count": 20, 516 | "metadata": {}, 517 | "output_type": "execute_result" 518 | } 519 | ], 520 | "source": [ 521 | "123 % 10" 522 | ] 523 | }, 524 | { 525 | "cell_type": "code", 526 | "execution_count": 21, 527 | "id": "1cbfed69", 528 | "metadata": {}, 529 | "outputs": [ 530 | { 531 | "data": { 532 | "text/plain": [ 533 | "2" 534 | ] 535 | }, 536 | "execution_count": 21, 537 | "metadata": {}, 538 | "output_type": "execute_result" 539 | } 540 | ], 541 | "source": [ 542 | "11 % 3" 543 | ] 544 | }, 545 | { 546 | "cell_type": "code", 547 | "execution_count": 22, 548 | "id": "e81f5360", 549 | "metadata": {}, 550 | "outputs": [ 551 | { 552 | "data": { 553 | "text/plain": [ 554 | "1024" 555 | ] 556 | }, 557 | "execution_count": 22, 558 | "metadata": {}, 559 | "output_type": "execute_result" 560 | } 561 | ], 562 | "source": [ 563 | "2 ** 10" 564 | ] 565 | }, 566 | { 567 | "cell_type": "code", 568 | "execution_count": 23, 569 | "id": "2b846b17", 570 | "metadata": {}, 571 | "outputs": [ 572 | { 573 | "name": "stdout", 574 | "output_type": "stream", 575 | "text": [ 576 | "133\n" 577 | ] 578 | } 579 | ], 580 | "source": [ 581 | "# тоже само на переменных\n", 582 | "\n", 583 | "a = 123\n", 584 | "b = 10\n", 585 | "c = a + b\n", 586 | "print(c)" 587 | ] 588 | }, 589 | { 590 | "cell_type": "code", 591 | "execution_count": 24, 592 | "id": "955e1065", 593 | "metadata": {}, 594 | "outputs": [ 595 | { 596 | "name": "stdout", 597 | "output_type": "stream", 598 | "text": [ 599 | "133\n" 600 | ] 601 | } 602 | ], 603 | "source": [ 604 | "# иногда нужно записать результат в переменную,\n", 605 | "# которая уже участвует в операции\n", 606 | "\n", 607 | "a = 123\n", 608 | "b = 10\n", 609 | "a = a + b\n", 610 | "print(a)" 611 | ] 612 | }, 613 | { 614 | "cell_type": "code", 615 | "execution_count": 25, 616 | "id": "9b544257", 617 | "metadata": {}, 618 | "outputs": [ 619 | { 620 | "name": "stdout", 621 | "output_type": "stream", 622 | "text": [ 623 | "133\n" 624 | ] 625 | } 626 | ], 627 | "source": [ 628 | "# запись выше можно сократить \n", 629 | "\n", 630 | "a = 123\n", 631 | "b = 10\n", 632 | "a += b # тоже самое, что a + b\n", 633 | "print(a)" 634 | ] 635 | }, 636 | { 637 | "cell_type": "code", 638 | "execution_count": 26, 639 | "id": "5216996b", 640 | "metadata": {}, 641 | "outputs": [ 642 | { 643 | "name": "stdout", 644 | "output_type": "stream", 645 | "text": [ 646 | "12.3\n" 647 | ] 648 | } 649 | ], 650 | "source": [ 651 | "# работает и с другими операциями\n", 652 | "\n", 653 | "a = 123\n", 654 | "b = 10\n", 655 | "a /= b\n", 656 | "print(a)" 657 | ] 658 | }, 659 | { 660 | "cell_type": "code", 661 | "execution_count": 27, 662 | "id": "0780be66", 663 | "metadata": {}, 664 | "outputs": [ 665 | { 666 | "name": "stdout", 667 | "output_type": "stream", 668 | "text": [ 669 | "3\n" 670 | ] 671 | } 672 | ], 673 | "source": [ 674 | "# говорю же, работает\n", 675 | "\n", 676 | "a = 123\n", 677 | "b = 10\n", 678 | "a %= b\n", 679 | "print(a)" 680 | ] 681 | }, 682 | { 683 | "cell_type": "markdown", 684 | "id": "5ee74fad", 685 | "metadata": {}, 686 | "source": [ 687 | "Есть еще битовые операции, их тоже пока не рассматриваем" 688 | ] 689 | }, 690 | { 691 | "cell_type": "markdown", 692 | "id": "6ca68fd9", 693 | "metadata": {}, 694 | "source": [ 695 | "### Строки" 696 | ] 697 | }, 698 | { 699 | "cell_type": "code", 700 | "execution_count": 28, 701 | "id": "ac61c256", 702 | "metadata": {}, 703 | "outputs": [ 704 | { 705 | "name": "stdout", 706 | "output_type": "stream", 707 | "text": [ 708 | "Строка\n", 709 | "Строка\n", 710 | "Строка\n", 711 | "Строка\n" 712 | ] 713 | } 714 | ], 715 | "source": [ 716 | "string_variable = 'Строка'\n", 717 | "print(string_variable)\n", 718 | "\n", 719 | "string_variable = \"Строка\"\n", 720 | "print(string_variable)\n", 721 | "\n", 722 | "string_variable = '''Строка'''\n", 723 | "print(string_variable)\n", 724 | "\n", 725 | "string_variable = \"\"\"Строка\"\"\"\n", 726 | "print(string_variable)" 727 | ] 728 | }, 729 | { 730 | "cell_type": "code", 731 | "execution_count": 29, 732 | "id": "83b892e0", 733 | "metadata": {}, 734 | "outputs": [ 735 | { 736 | "data": { 737 | "text/plain": [ 738 | "str" 739 | ] 740 | }, 741 | "execution_count": 29, 742 | "metadata": {}, 743 | "output_type": "execute_result" 744 | } 745 | ], 746 | "source": [ 747 | "type(string_variable)" 748 | ] 749 | }, 750 | { 751 | "cell_type": "code", 752 | "execution_count": 30, 753 | "id": "b6e318fc", 754 | "metadata": {}, 755 | "outputs": [ 756 | { 757 | "name": "stdout", 758 | "output_type": "stream", 759 | "text": [ 760 | "Это\n", 761 | "многострочная\n", 762 | "строка\n" 763 | ] 764 | } 765 | ], 766 | "source": [ 767 | "text_variable = '''Это\n", 768 | "многострочная\n", 769 | "строка'''\n", 770 | "print(text_variable)" 771 | ] 772 | }, 773 | { 774 | "cell_type": "code", 775 | "execution_count": 31, 776 | "id": "d10a8f76", 777 | "metadata": {}, 778 | "outputs": [ 779 | { 780 | "name": "stdout", 781 | "output_type": "stream", 782 | "text": [ 783 | "Это тоже\n", 784 | "многострочная\n", 785 | "строка\n" 786 | ] 787 | } 788 | ], 789 | "source": [ 790 | "text_variable = \"\"\"Это тоже\n", 791 | "многострочная\n", 792 | "строка\"\"\"\n", 793 | "print(text_variable)" 794 | ] 795 | }, 796 | { 797 | "cell_type": "code", 798 | "execution_count": 32, 799 | "id": "efdf9d1d", 800 | "metadata": {}, 801 | "outputs": [ 802 | { 803 | "name": "stdout", 804 | "output_type": "stream", 805 | "text": [ 806 | "В\tстроках\n", 807 | "можно\tиспользовать\n", 808 | "специальные\tсимволы\n" 809 | ] 810 | } 811 | ], 812 | "source": [ 813 | "text_variable = \"\"\"В\\tстроках\\nможно\\tиспользовать\\nспециальные\\tсимволы\"\"\"\n", 814 | "print(text_variable)" 815 | ] 816 | }, 817 | { 818 | "cell_type": "markdown", 819 | "id": "4b44e0b4", 820 | "metadata": {}, 821 | "source": [ 822 | "Что можно делать со строками?\n", 823 | "\n", 824 | "Их можно складывать (конкатенация)" 825 | ] 826 | }, 827 | { 828 | "cell_type": "code", 829 | "execution_count": 33, 830 | "id": "d2c497bf", 831 | "metadata": {}, 832 | "outputs": [ 833 | { 834 | "data": { 835 | "text/plain": [ 836 | "'левоправо'" 837 | ] 838 | }, 839 | "execution_count": 33, 840 | "metadata": {}, 841 | "output_type": "execute_result" 842 | } 843 | ], 844 | "source": [ 845 | "'лево' + 'право'" 846 | ] 847 | }, 848 | { 849 | "cell_type": "code", 850 | "execution_count": 34, 851 | "id": "d2db9f71", 852 | "metadata": {}, 853 | "outputs": [ 854 | { 855 | "name": "stdout", 856 | "output_type": "stream", 857 | "text": [ 858 | "лево право\n" 859 | ] 860 | } 861 | ], 862 | "source": [ 863 | "# аналогично, можно складывать строковые переменные\n", 864 | "\n", 865 | "str_1 = 'лево'\n", 866 | "str_2 = 'право'\n", 867 | "print(str_1 + ' ' + str_2)" 868 | ] 869 | }, 870 | { 871 | "cell_type": "markdown", 872 | "id": "3ae1933b", 873 | "metadata": {}, 874 | "source": [ 875 | "Строки можно умножать на число:" 876 | ] 877 | }, 878 | { 879 | "cell_type": "code", 880 | "execution_count": 35, 881 | "id": "1a2f1694", 882 | "metadata": {}, 883 | "outputs": [ 884 | { 885 | "data": { 886 | "text/plain": [ 887 | "'учитьсяучитьсяучиться'" 888 | ] 889 | }, 890 | "execution_count": 35, 891 | "metadata": {}, 892 | "output_type": "execute_result" 893 | } 894 | ], 895 | "source": [ 896 | "'учиться' * 3" 897 | ] 898 | }, 899 | { 900 | "cell_type": "code", 901 | "execution_count": 36, 902 | "id": "7692f5cb", 903 | "metadata": {}, 904 | "outputs": [ 905 | { 906 | "data": { 907 | "text/plain": [ 908 | "'##################################################'" 909 | ] 910 | }, 911 | "execution_count": 36, 912 | "metadata": {}, 913 | "output_type": "execute_result" 914 | } 915 | ], 916 | "source": [ 917 | "'#' * 50" 918 | ] 919 | }, 920 | { 921 | "cell_type": "code", 922 | "execution_count": 37, 923 | "id": "f0d717de", 924 | "metadata": {}, 925 | "outputs": [ 926 | { 927 | "name": "stdout", 928 | "output_type": "stream", 929 | "text": [ 930 | "фигачить фигачить фигачить фигачить фигачить \n" 931 | ] 932 | } 933 | ], 934 | "source": [ 935 | "action = 'фигачить '\n", 936 | "action *= 5\n", 937 | "print(action)" 938 | ] 939 | }, 940 | { 941 | "cell_type": "markdown", 942 | "id": "40e7362a", 943 | "metadata": {}, 944 | "source": [ 945 | "А еще есть конструкция **len**" 946 | ] 947 | }, 948 | { 949 | "cell_type": "code", 950 | "execution_count": 38, 951 | "id": "92a4b68c", 952 | "metadata": {}, 953 | "outputs": [ 954 | { 955 | "data": { 956 | "text/plain": [ 957 | "45" 958 | ] 959 | }, 960 | "execution_count": 38, 961 | "metadata": {}, 962 | "output_type": "execute_result" 963 | } 964 | ], 965 | "source": [ 966 | "len(action)" 967 | ] 968 | }, 969 | { 970 | "cell_type": "markdown", 971 | "id": "1d20e5d8", 972 | "metadata": {}, 973 | "source": [ 974 | "Считает количество символов строки - длина строки" 975 | ] 976 | }, 977 | { 978 | "cell_type": "markdown", 979 | "id": "538dca8c", 980 | "metadata": {}, 981 | "source": [ 982 | "А что будет, если сложить строку и число?" 983 | ] 984 | }, 985 | { 986 | "cell_type": "code", 987 | "execution_count": 39, 988 | "id": "0beabb21", 989 | "metadata": {}, 990 | "outputs": [ 991 | { 992 | "data": { 993 | "text/plain": [ 994 | "5" 995 | ] 996 | }, 997 | "execution_count": 39, 998 | "metadata": {}, 999 | "output_type": "execute_result" 1000 | } 1001 | ], 1002 | "source": [ 1003 | "int('2') + 3" 1004 | ] 1005 | }, 1006 | { 1007 | "cell_type": "markdown", 1008 | "id": "66e472b3", 1009 | "metadata": {}, 1010 | "source": [ 1011 | "Типизация в python не только динамичная, но и строгая (сильная)" 1012 | ] 1013 | }, 1014 | { 1015 | "cell_type": "markdown", 1016 | "id": "de8d368e", 1017 | "metadata": {}, 1018 | "source": [ 1019 | "### Списки (list)" 1020 | ] 1021 | }, 1022 | { 1023 | "cell_type": "code", 1024 | "execution_count": 40, 1025 | "id": "25b2a9d3", 1026 | "metadata": {}, 1027 | "outputs": [ 1028 | { 1029 | "data": { 1030 | "text/plain": [ 1031 | "[1, 2, 3]" 1032 | ] 1033 | }, 1034 | "execution_count": 40, 1035 | "metadata": {}, 1036 | "output_type": "execute_result" 1037 | } 1038 | ], 1039 | "source": [ 1040 | "[1, 2, 3]" 1041 | ] 1042 | }, 1043 | { 1044 | "cell_type": "code", 1045 | "execution_count": 41, 1046 | "id": "67497160", 1047 | "metadata": {}, 1048 | "outputs": [], 1049 | "source": [ 1050 | "list_of_ints = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" 1051 | ] 1052 | }, 1053 | { 1054 | "cell_type": "code", 1055 | "execution_count": 42, 1056 | "id": "120a69d6", 1057 | "metadata": {}, 1058 | "outputs": [ 1059 | { 1060 | "name": "stdout", 1061 | "output_type": "stream", 1062 | "text": [ 1063 | "['знаешь', 'ли', 'ты']\n" 1064 | ] 1065 | } 1066 | ], 1067 | "source": [ 1068 | "list_of_words = ['знаешь', 'ли', 'ты']\n", 1069 | "print(list_of_words)" 1070 | ] 1071 | }, 1072 | { 1073 | "cell_type": "code", 1074 | "execution_count": 43, 1075 | "id": "c7af0636", 1076 | "metadata": {}, 1077 | "outputs": [ 1078 | { 1079 | "data": { 1080 | "text/plain": [ 1081 | "[]" 1082 | ] 1083 | }, 1084 | "execution_count": 43, 1085 | "metadata": {}, 1086 | "output_type": "execute_result" 1087 | } 1088 | ], 1089 | "source": [ 1090 | "[]" 1091 | ] 1092 | }, 1093 | { 1094 | "cell_type": "markdown", 1095 | "id": "9af636d5", 1096 | "metadata": {}, 1097 | "source": [ 1098 | "А еще списки могут содержать разные типы" 1099 | ] 1100 | }, 1101 | { 1102 | "cell_type": "code", 1103 | "execution_count": 44, 1104 | "id": "50ecc5df", 1105 | "metadata": {}, 1106 | "outputs": [ 1107 | { 1108 | "name": "stdout", 1109 | "output_type": "stream", 1110 | "text": [ 1111 | "[123, -3.14, 'строка', [], [2, 'еще строка']]\n" 1112 | ] 1113 | } 1114 | ], 1115 | "source": [ 1116 | "wow_list = [123, -3.14, 'строка', [], [2, 'еще строка']]\n", 1117 | "print(wow_list)" 1118 | ] 1119 | }, 1120 | { 1121 | "cell_type": "code", 1122 | "execution_count": 45, 1123 | "id": "f3cf0428", 1124 | "metadata": {}, 1125 | "outputs": [ 1126 | { 1127 | "data": { 1128 | "text/plain": [ 1129 | "list" 1130 | ] 1131 | }, 1132 | "execution_count": 45, 1133 | "metadata": {}, 1134 | "output_type": "execute_result" 1135 | } 1136 | ], 1137 | "source": [ 1138 | "type(wow_list)" 1139 | ] 1140 | }, 1141 | { 1142 | "cell_type": "markdown", 1143 | "id": "9d60ea8c", 1144 | "metadata": {}, 1145 | "source": [ 1146 | "Список упорядочен, т.е. порядок сохраняется\n", 1147 | "\n", 1148 | "Потому мы можем обратиться к элементу" 1149 | ] 1150 | }, 1151 | { 1152 | "cell_type": "code", 1153 | "execution_count": 46, 1154 | "id": "b2b769dc", 1155 | "metadata": {}, 1156 | "outputs": [ 1157 | { 1158 | "data": { 1159 | "text/plain": [ 1160 | "'да'" 1161 | ] 1162 | }, 1163 | "execution_count": 46, 1164 | "metadata": {}, 1165 | "output_type": "execute_result" 1166 | } 1167 | ], 1168 | "source": [ 1169 | "joda_words = ['да', 'пребудет', 'с тобой', 'удача']\n", 1170 | "joda_words[0]\n", 1171 | "\n", 1172 | "# нумерация в списке с нуля" 1173 | ] 1174 | }, 1175 | { 1176 | "cell_type": "code", 1177 | "execution_count": 47, 1178 | "id": "43b01273", 1179 | "metadata": {}, 1180 | "outputs": [ 1181 | { 1182 | "data": { 1183 | "text/plain": [ 1184 | "'пребудет'" 1185 | ] 1186 | }, 1187 | "execution_count": 47, 1188 | "metadata": {}, 1189 | "output_type": "execute_result" 1190 | } 1191 | ], 1192 | "source": [ 1193 | "joda_words[1]" 1194 | ] 1195 | }, 1196 | { 1197 | "cell_type": "code", 1198 | "execution_count": 48, 1199 | "id": "65677c23", 1200 | "metadata": {}, 1201 | "outputs": [ 1202 | { 1203 | "data": { 1204 | "text/plain": [ 1205 | "'удача'" 1206 | ] 1207 | }, 1208 | "execution_count": 48, 1209 | "metadata": {}, 1210 | "output_type": "execute_result" 1211 | } 1212 | ], 1213 | "source": [ 1214 | "joda_words[3]" 1215 | ] 1216 | }, 1217 | { 1218 | "cell_type": "code", 1219 | "execution_count": 49, 1220 | "id": "104116a4", 1221 | "metadata": {}, 1222 | "outputs": [ 1223 | { 1224 | "ename": "IndexError", 1225 | "evalue": "list assignment index out of range", 1226 | "output_type": "error", 1227 | "traceback": [ 1228 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 1229 | "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", 1230 | "Input \u001b[0;32mIn [49]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# можно не только взять определенный элемент\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# а даже поменять\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m joda_words[\u001b[38;5;241m4\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mсила\u001b[39m\u001b[38;5;124m'\u001b[39m\n", 1231 | "\u001b[0;31mIndexError\u001b[0m: list assignment index out of range" 1232 | ] 1233 | } 1234 | ], 1235 | "source": [ 1236 | "# можно не только взять определенный элемент\n", 1237 | "# а даже поменять\n", 1238 | "\n", 1239 | "joda_words[4] = 'сила'" 1240 | ] 1241 | }, 1242 | { 1243 | "cell_type": "code", 1244 | "execution_count": 50, 1245 | "id": "7f7572a4", 1246 | "metadata": {}, 1247 | "outputs": [ 1248 | { 1249 | "name": "stdout", 1250 | "output_type": "stream", 1251 | "text": [ 1252 | "['да', 'пребудет', 'с тобой', 'удача']\n" 1253 | ] 1254 | } 1255 | ], 1256 | "source": [ 1257 | "print(joda_words)" 1258 | ] 1259 | }, 1260 | { 1261 | "cell_type": "code", 1262 | "execution_count": 51, 1263 | "id": "8a72f453", 1264 | "metadata": {}, 1265 | "outputs": [ 1266 | { 1267 | "data": { 1268 | "text/plain": [ 1269 | "['пребудет', 'с тобой', 'удача']" 1270 | ] 1271 | }, 1272 | "execution_count": 51, 1273 | "metadata": {}, 1274 | "output_type": "execute_result" 1275 | } 1276 | ], 1277 | "source": [ 1278 | "# взять от\n", 1279 | "\n", 1280 | "joda_words[1:]" 1281 | ] 1282 | }, 1283 | { 1284 | "cell_type": "code", 1285 | "execution_count": 52, 1286 | "id": "4f6e749f", 1287 | "metadata": {}, 1288 | "outputs": [ 1289 | { 1290 | "data": { 1291 | "text/plain": [ 1292 | "['да', 'пребудет', 'с тобой', 'удача']" 1293 | ] 1294 | }, 1295 | "execution_count": 52, 1296 | "metadata": {}, 1297 | "output_type": "execute_result" 1298 | } 1299 | ], 1300 | "source": [ 1301 | "# взять до\n", 1302 | "\n", 1303 | "joda_words[:4]" 1304 | ] 1305 | }, 1306 | { 1307 | "cell_type": "code", 1308 | "execution_count": 53, 1309 | "id": "40a68cb5", 1310 | "metadata": {}, 1311 | "outputs": [ 1312 | { 1313 | "data": { 1314 | "text/plain": [ 1315 | "['пребудет', 'с тобой']" 1316 | ] 1317 | }, 1318 | "execution_count": 53, 1319 | "metadata": {}, 1320 | "output_type": "execute_result" 1321 | } 1322 | ], 1323 | "source": [ 1324 | "# взять от и до\n", 1325 | "\n", 1326 | "joda_words[1:3]" 1327 | ] 1328 | }, 1329 | { 1330 | "cell_type": "code", 1331 | "execution_count": 54, 1332 | "id": "a3d2c2fd", 1333 | "metadata": {}, 1334 | "outputs": [ 1335 | { 1336 | "name": "stdout", 1337 | "output_type": "stream", 1338 | "text": [ 1339 | "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", 1340 | "[4]\n" 1341 | ] 1342 | } 1343 | ], 1344 | "source": [ 1345 | "# взять от и до с шагом\n", 1346 | "\n", 1347 | "print(list_of_ints)\n", 1348 | "print(list_of_ints[3:9:10])" 1349 | ] 1350 | }, 1351 | { 1352 | "cell_type": "code", 1353 | "execution_count": 55, 1354 | "id": "f3ad101a", 1355 | "metadata": {}, 1356 | "outputs": [ 1357 | { 1358 | "data": { 1359 | "text/plain": [ 1360 | "[1, 4, 7, 10]" 1361 | ] 1362 | }, 1363 | "execution_count": 55, 1364 | "metadata": {}, 1365 | "output_type": "execute_result" 1366 | } 1367 | ], 1368 | "source": [ 1369 | "# можно оставить только шаг\n", 1370 | "\n", 1371 | "list_of_ints[::3]" 1372 | ] 1373 | }, 1374 | { 1375 | "cell_type": "code", 1376 | "execution_count": 56, 1377 | "id": "fadf2aa2", 1378 | "metadata": {}, 1379 | "outputs": [ 1380 | { 1381 | "data": { 1382 | "text/plain": [ 1383 | "['удача', 'с тобой', 'пребудет', 'да']" 1384 | ] 1385 | }, 1386 | "execution_count": 56, 1387 | "metadata": {}, 1388 | "output_type": "execute_result" 1389 | } 1390 | ], 1391 | "source": [ 1392 | "# а еще можно использовать отрицательный шаг\n", 1393 | "\n", 1394 | "joda_words[::-1]" 1395 | ] 1396 | }, 1397 | { 1398 | "cell_type": "code", 1399 | "execution_count": 57, 1400 | "id": "8d84dd61", 1401 | "metadata": {}, 1402 | "outputs": [ 1403 | { 1404 | "name": "stdout", 1405 | "output_type": "stream", 1406 | "text": [ 1407 | "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", 1408 | "[3, 5, 7]\n" 1409 | ] 1410 | } 1411 | ], 1412 | "source": [ 1413 | "# и не только шаг\n", 1414 | "\n", 1415 | "print(list_of_ints)\n", 1416 | "print(list_of_ints[2:-2:2])" 1417 | ] 1418 | }, 1419 | { 1420 | "cell_type": "code", 1421 | "execution_count": 58, 1422 | "id": "18520fae", 1423 | "metadata": {}, 1424 | "outputs": [ 1425 | { 1426 | "name": "stdout", 1427 | "output_type": "stream", 1428 | "text": [ 1429 | "[4, 5, 6, 7, 8]\n" 1430 | ] 1431 | } 1432 | ], 1433 | "source": [ 1434 | "# бдыщ\n", 1435 | "\n", 1436 | "print(list_of_ints[-7:-2])" 1437 | ] 1438 | }, 1439 | { 1440 | "cell_type": "code", 1441 | "execution_count": 59, 1442 | "id": "e9952ac9", 1443 | "metadata": {}, 1444 | "outputs": [ 1445 | { 1446 | "name": "stdout", 1447 | "output_type": "stream", 1448 | "text": [ 1449 | "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", 1450 | "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", 1451 | "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" 1452 | ] 1453 | } 1454 | ], 1455 | "source": [ 1456 | "print(list_of_ints)\n", 1457 | "\n", 1458 | "print(list_of_ints[:])\n", 1459 | "\n", 1460 | "print(list_of_ints[::])" 1461 | ] 1462 | }, 1463 | { 1464 | "cell_type": "markdown", 1465 | "id": "6040e5f2", 1466 | "metadata": {}, 1467 | "source": [ 1468 | "### Операции над списками" 1469 | ] 1470 | }, 1471 | { 1472 | "cell_type": "code", 1473 | "execution_count": 60, 1474 | "id": "afd670c0", 1475 | "metadata": {}, 1476 | "outputs": [ 1477 | { 1478 | "name": "stdout", 1479 | "output_type": "stream", 1480 | "text": [ 1481 | "[1, 2, 3, 'a', 'b', 'c']\n", 1482 | "[1, 2, 3, 1, 2, 3, 1, 2, 3]\n", 1483 | "4\n" 1484 | ] 1485 | } 1486 | ], 1487 | "source": [ 1488 | "print([1, 2, 3] + ['a', 'b', 'c'])\n", 1489 | "print([1, 2, 3] * 3)\n", 1490 | "print(len(joda_words))" 1491 | ] 1492 | }, 1493 | { 1494 | "cell_type": "markdown", 1495 | "id": "652d3c8c", 1496 | "metadata": {}, 1497 | "source": [ 1498 | "Похоже на строки, да?" 1499 | ] 1500 | }, 1501 | { 1502 | "cell_type": "markdown", 1503 | "id": "0370b30b", 1504 | "metadata": {}, 1505 | "source": [ 1506 | "В строках работает и операции выше для списков" 1507 | ] 1508 | }, 1509 | { 1510 | "cell_type": "code", 1511 | "execution_count": 61, 1512 | "id": "8a036b9e", 1513 | "metadata": {}, 1514 | "outputs": [], 1515 | "source": [ 1516 | "yet_another_string = 'перегрузиться'" 1517 | ] 1518 | }, 1519 | { 1520 | "cell_type": "code", 1521 | "execution_count": 62, 1522 | "id": "94398a01", 1523 | "metadata": {}, 1524 | "outputs": [ 1525 | { 1526 | "data": { 1527 | "text/plain": [ 1528 | "'г'" 1529 | ] 1530 | }, 1531 | "execution_count": 62, 1532 | "metadata": {}, 1533 | "output_type": "execute_result" 1534 | } 1535 | ], 1536 | "source": [ 1537 | "yet_another_string[4]" 1538 | ] 1539 | }, 1540 | { 1541 | "cell_type": "code", 1542 | "execution_count": 63, 1543 | "id": "53ab7e43", 1544 | "metadata": {}, 1545 | "outputs": [ 1546 | { 1547 | "data": { 1548 | "text/plain": [ 1549 | "'грузить'" 1550 | ] 1551 | }, 1552 | "execution_count": 63, 1553 | "metadata": {}, 1554 | "output_type": "execute_result" 1555 | } 1556 | ], 1557 | "source": [ 1558 | "yet_another_string[4:-2]" 1559 | ] 1560 | }, 1561 | { 1562 | "cell_type": "code", 1563 | "execution_count": 64, 1564 | "id": "1b3c5481", 1565 | "metadata": {}, 1566 | "outputs": [ 1567 | { 1568 | "data": { 1569 | "text/plain": [ 1570 | "'ясьтизургереп'" 1571 | ] 1572 | }, 1573 | "execution_count": 64, 1574 | "metadata": {}, 1575 | "output_type": "execute_result" 1576 | } 1577 | ], 1578 | "source": [ 1579 | "yet_another_string[::-1]" 1580 | ] 1581 | }, 1582 | { 1583 | "cell_type": "markdown", 1584 | "id": "10883323", 1585 | "metadata": {}, 1586 | "source": [ 1587 | "Еще одно - сортировка" 1588 | ] 1589 | }, 1590 | { 1591 | "cell_type": "code", 1592 | "execution_count": 65, 1593 | "id": "b45722aa", 1594 | "metadata": {}, 1595 | "outputs": [], 1596 | "source": [ 1597 | "numbers = [4, 3, 2, 7, -1, 1]" 1598 | ] 1599 | }, 1600 | { 1601 | "cell_type": "code", 1602 | "execution_count": 66, 1603 | "id": "c4bafdfe", 1604 | "metadata": {}, 1605 | "outputs": [ 1606 | { 1607 | "name": "stdout", 1608 | "output_type": "stream", 1609 | "text": [ 1610 | "[4, 3, 2, 7, -1, 1]\n", 1611 | "[-1, 1, 2, 3, 4, 7]\n" 1612 | ] 1613 | } 1614 | ], 1615 | "source": [ 1616 | "print(numbers)\n", 1617 | "print(sorted(numbers))" 1618 | ] 1619 | }, 1620 | { 1621 | "cell_type": "code", 1622 | "execution_count": 67, 1623 | "id": "5d226604", 1624 | "metadata": {}, 1625 | "outputs": [], 1626 | "source": [ 1627 | "new_joda = ['поистине', 'замечательным', 'ум', 'ребенка', 'является']" 1628 | ] 1629 | }, 1630 | { 1631 | "cell_type": "code", 1632 | "execution_count": 68, 1633 | "id": "d93d2019", 1634 | "metadata": {}, 1635 | "outputs": [ 1636 | { 1637 | "name": "stdout", 1638 | "output_type": "stream", 1639 | "text": [ 1640 | "['поистине', 'замечательным', 'ум', 'ребенка', 'является']\n", 1641 | "['замечательным', 'поистине', 'ребенка', 'ум', 'является']\n" 1642 | ] 1643 | } 1644 | ], 1645 | "source": [ 1646 | "print(new_joda)\n", 1647 | "print(sorted(new_joda))" 1648 | ] 1649 | }, 1650 | { 1651 | "cell_type": "markdown", 1652 | "id": "539c75ca", 1653 | "metadata": {}, 1654 | "source": [ 1655 | "А раз строки похожи на массивы, как отработает сортировка?" 1656 | ] 1657 | }, 1658 | { 1659 | "cell_type": "code", 1660 | "execution_count": 69, 1661 | "id": "529abbb1", 1662 | "metadata": {}, 1663 | "outputs": [ 1664 | { 1665 | "data": { 1666 | "text/plain": [ 1667 | "['г', 'е', 'е', 'з', 'и', 'п', 'р', 'р', 'с', 'т', 'у', 'ь', 'я']" 1668 | ] 1669 | }, 1670 | "execution_count": 69, 1671 | "metadata": {}, 1672 | "output_type": "execute_result" 1673 | } 1674 | ], 1675 | "source": [ 1676 | "sorted(yet_another_string)" 1677 | ] 1678 | }, 1679 | { 1680 | "cell_type": "code", 1681 | "execution_count": 70, 1682 | "id": "a72ffb05", 1683 | "metadata": {}, 1684 | "outputs": [], 1685 | "source": [ 1686 | "# ну такое" 1687 | ] 1688 | }, 1689 | { 1690 | "cell_type": "markdown", 1691 | "id": "c2f11837", 1692 | "metadata": {}, 1693 | "source": [ 1694 | "### Булевы значения" 1695 | ] 1696 | }, 1697 | { 1698 | "cell_type": "markdown", 1699 | "id": "98e2a4df", 1700 | "metadata": {}, 1701 | "source": [ 1702 | "Есть в python две константы: True (правда) и False (ложь)" 1703 | ] 1704 | }, 1705 | { 1706 | "cell_type": "markdown", 1707 | "id": "462d0913", 1708 | "metadata": {}, 1709 | "source": [ 1710 | "Они возникают очень например при сравнении:" 1711 | ] 1712 | }, 1713 | { 1714 | "cell_type": "code", 1715 | "execution_count": 71, 1716 | "id": "df563535", 1717 | "metadata": {}, 1718 | "outputs": [ 1719 | { 1720 | "data": { 1721 | "text/plain": [ 1722 | "True" 1723 | ] 1724 | }, 1725 | "execution_count": 71, 1726 | "metadata": {}, 1727 | "output_type": "execute_result" 1728 | } 1729 | ], 1730 | "source": [ 1731 | "5 > 3" 1732 | ] 1733 | }, 1734 | { 1735 | "cell_type": "code", 1736 | "execution_count": 72, 1737 | "id": "da615677", 1738 | "metadata": {}, 1739 | "outputs": [ 1740 | { 1741 | "data": { 1742 | "text/plain": [ 1743 | "False" 1744 | ] 1745 | }, 1746 | "execution_count": 72, 1747 | "metadata": {}, 1748 | "output_type": "execute_result" 1749 | } 1750 | ], 1751 | "source": [ 1752 | "2 < -2" 1753 | ] 1754 | }, 1755 | { 1756 | "cell_type": "code", 1757 | "execution_count": 73, 1758 | "id": "07d29bd3", 1759 | "metadata": {}, 1760 | "outputs": [ 1761 | { 1762 | "data": { 1763 | "text/plain": [ 1764 | "True" 1765 | ] 1766 | }, 1767 | "execution_count": 73, 1768 | "metadata": {}, 1769 | "output_type": "execute_result" 1770 | } 1771 | ], 1772 | "source": [ 1773 | "10 >= 4" 1774 | ] 1775 | }, 1776 | { 1777 | "cell_type": "code", 1778 | "execution_count": 74, 1779 | "id": "527ddc74", 1780 | "metadata": {}, 1781 | "outputs": [ 1782 | { 1783 | "data": { 1784 | "text/plain": [ 1785 | "True" 1786 | ] 1787 | }, 1788 | "execution_count": 74, 1789 | "metadata": {}, 1790 | "output_type": "execute_result" 1791 | } 1792 | ], 1793 | "source": [ 1794 | "-3.14 <= -3.14" 1795 | ] 1796 | }, 1797 | { 1798 | "cell_type": "code", 1799 | "execution_count": 75, 1800 | "id": "aa87a6ee", 1801 | "metadata": {}, 1802 | "outputs": [ 1803 | { 1804 | "data": { 1805 | "text/plain": [ 1806 | "False" 1807 | ] 1808 | }, 1809 | "execution_count": 75, 1810 | "metadata": {}, 1811 | "output_type": "execute_result" 1812 | } 1813 | ], 1814 | "source": [ 1815 | "2 == 5" 1816 | ] 1817 | }, 1818 | { 1819 | "cell_type": "code", 1820 | "execution_count": 76, 1821 | "id": "67cf79eb", 1822 | "metadata": {}, 1823 | "outputs": [ 1824 | { 1825 | "data": { 1826 | "text/plain": [ 1827 | "True" 1828 | ] 1829 | }, 1830 | "execution_count": 76, 1831 | "metadata": {}, 1832 | "output_type": "execute_result" 1833 | } 1834 | ], 1835 | "source": [ 1836 | "5.1 != -4" 1837 | ] 1838 | }, 1839 | { 1840 | "cell_type": "markdown", 1841 | "id": "7d065f16", 1842 | "metadata": {}, 1843 | "source": [ 1844 | "Над булевыми значениями возможны операции - булевы" 1845 | ] 1846 | }, 1847 | { 1848 | "cell_type": "markdown", 1849 | "id": "11077216", 1850 | "metadata": {}, 1851 | "source": [ 1852 | "`x and y` - результат `True`, только если и `x` и `y` - `True`, в остальных случаях - `False`\n", 1853 | "\n", 1854 | "`x or y` - результат `True`, если оба или хотя бы одно значение из `x` или `y` - `True`, если оба - `False`, то результат - `False`\n", 1855 | "\n", 1856 | "`not x` - меняет значение на обратное, был `x = True`, стал - `False`, был `x = False`, стал - `True`. " 1857 | ] 1858 | }, 1859 | { 1860 | "cell_type": "markdown", 1861 | "id": "35453a28", 1862 | "metadata": {}, 1863 | "source": [ 1864 | "Проверим систолическое давление (верхнее), нормальное ли оно" 1865 | ] 1866 | }, 1867 | { 1868 | "cell_type": "code", 1869 | "execution_count": 77, 1870 | "id": "d30f8413", 1871 | "metadata": {}, 1872 | "outputs": [ 1873 | { 1874 | "data": { 1875 | "text/plain": [ 1876 | "False" 1877 | ] 1878 | }, 1879 | "execution_count": 77, 1880 | "metadata": {}, 1881 | "output_type": "execute_result" 1882 | } 1883 | ], 1884 | "source": [ 1885 | "systolic_blood_pressure = 123\n", 1886 | "\n", 1887 | "(systolic_blood_pressure >= 100) and (systolic_blood_pressure <= 120)" 1888 | ] 1889 | }, 1890 | { 1891 | "cell_type": "code", 1892 | "execution_count": 78, 1893 | "id": "dc212db8", 1894 | "metadata": {}, 1895 | "outputs": [ 1896 | { 1897 | "data": { 1898 | "text/plain": [ 1899 | "False" 1900 | ] 1901 | }, 1902 | "execution_count": 78, 1903 | "metadata": {}, 1904 | "output_type": "execute_result" 1905 | } 1906 | ], 1907 | "source": [ 1908 | "100 <= systolic_blood_pressure <= 120" 1909 | ] 1910 | }, 1911 | { 1912 | "cell_type": "code", 1913 | "execution_count": 79, 1914 | "id": "25903927", 1915 | "metadata": {}, 1916 | "outputs": [ 1917 | { 1918 | "data": { 1919 | "text/plain": [ 1920 | "True" 1921 | ] 1922 | }, 1923 | "execution_count": 79, 1924 | "metadata": {}, 1925 | "output_type": "execute_result" 1926 | } 1927 | ], 1928 | "source": [ 1929 | "systolic_blood_pressure = 115\n", 1930 | "\n", 1931 | "(systolic_blood_pressure >= 100) and (systolic_blood_pressure <= 120)" 1932 | ] 1933 | }, 1934 | { 1935 | "cell_type": "markdown", 1936 | "id": "ad201fab", 1937 | "metadata": {}, 1938 | "source": [ 1939 | "### Множества (set)" 1940 | ] 1941 | }, 1942 | { 1943 | "cell_type": "code", 1944 | "execution_count": 80, 1945 | "id": "8b032c17", 1946 | "metadata": {}, 1947 | "outputs": [ 1948 | { 1949 | "name": "stdout", 1950 | "output_type": "stream", 1951 | "text": [ 1952 | "{1, 101, 10, 400, 30}\n" 1953 | ] 1954 | } 1955 | ], 1956 | "source": [ 1957 | "my_first_set = set([101, 10, 1, 30, 400, 10])\n", 1958 | "print(my_first_set)" 1959 | ] 1960 | }, 1961 | { 1962 | "cell_type": "markdown", 1963 | "id": "e0be66ee", 1964 | "metadata": {}, 1965 | "source": [ 1966 | "Ничего себе, а куда пропал порядок и куда делась вторая 10?" 1967 | ] 1968 | }, 1969 | { 1970 | "cell_type": "markdown", 1971 | "id": "b06bc22b", 1972 | "metadata": {}, 1973 | "source": [ 1974 | "Все дело в том, что это не список - это множество.\n", 1975 | "\n", 1976 | " - В нем хранятся только уникальные значения.\n", 1977 | "\n", 1978 | " - И элементы в множестве неупорядоченны (Не смейте так сказать на собеседовании, тут все сложнее, но пока я упрощаю)" 1979 | ] 1980 | }, 1981 | { 1982 | "cell_type": "markdown", 1983 | "id": "57e94d6a", 1984 | "metadata": {}, 1985 | "source": [ 1986 | "Зачем тогда множества, когда есть список без такого издевательства?\n", 1987 | "\n", 1988 | "Бывает случаи, когда порядок и повторяющиеся значения не столь важны, а ряд операций в множестве будут быстрее" 1989 | ] 1990 | }, 1991 | { 1992 | "cell_type": "code", 1993 | "execution_count": 81, 1994 | "id": "5ee2e535", 1995 | "metadata": {}, 1996 | "outputs": [ 1997 | { 1998 | "data": { 1999 | "text/plain": [ 2000 | "True" 2001 | ] 2002 | }, 2003 | "execution_count": 81, 2004 | "metadata": {}, 2005 | "output_type": "execute_result" 2006 | } 2007 | ], 2008 | "source": [ 2009 | "101 in my_first_set" 2010 | ] 2011 | }, 2012 | { 2013 | "cell_type": "code", 2014 | "execution_count": 82, 2015 | "id": "0d066b34", 2016 | "metadata": {}, 2017 | "outputs": [ 2018 | { 2019 | "data": { 2020 | "text/plain": [ 2021 | "False" 2022 | ] 2023 | }, 2024 | "execution_count": 82, 2025 | "metadata": {}, 2026 | "output_type": "execute_result" 2027 | } 2028 | ], 2029 | "source": [ 2030 | "123 in my_first_set" 2031 | ] 2032 | }, 2033 | { 2034 | "cell_type": "code", 2035 | "execution_count": null, 2036 | "id": "1d568073", 2037 | "metadata": {}, 2038 | "outputs": [], 2039 | "source": [] 2040 | }, 2041 | { 2042 | "cell_type": "code", 2043 | "execution_count": 83, 2044 | "id": "5bd7412e", 2045 | "metadata": {}, 2046 | "outputs": [], 2047 | "source": [ 2048 | "# о, это же булевы значения" 2049 | ] 2050 | }, 2051 | { 2052 | "cell_type": "code", 2053 | "execution_count": 84, 2054 | "id": "0a8da5f7", 2055 | "metadata": {}, 2056 | "outputs": [ 2057 | { 2058 | "data": { 2059 | "text/plain": [ 2060 | "True" 2061 | ] 2062 | }, 2063 | "execution_count": 84, 2064 | "metadata": {}, 2065 | "output_type": "execute_result" 2066 | } 2067 | ], 2068 | "source": [ 2069 | "# работает и в списках, но медленнее\n", 2070 | "# ощутимо при больших размерах или при частом повторении\n", 2071 | "\n", 2072 | "-45 in [15, 85, -45, 0]" 2073 | ] 2074 | }, 2075 | { 2076 | "cell_type": "markdown", 2077 | "id": "a7f1bf25", 2078 | "metadata": {}, 2079 | "source": [ 2080 | "И задачка на закрепление материала:\n", 2081 | " \n", 2082 | " У вас есть список целых чисел, нужно узнать сколько в нем уникальных значений" 2083 | ] 2084 | }, 2085 | { 2086 | "cell_type": "code", 2087 | "execution_count": 85, 2088 | "id": "fc4dd86b", 2089 | "metadata": {}, 2090 | "outputs": [], 2091 | "source": [ 2092 | "input_list = [1, 2, 7, 2, 5, -10, 5, 10, 2]" 2093 | ] 2094 | }, 2095 | { 2096 | "cell_type": "code", 2097 | "execution_count": 86, 2098 | "id": "fde972ff", 2099 | "metadata": {}, 2100 | "outputs": [ 2101 | { 2102 | "data": { 2103 | "text/plain": [ 2104 | "9" 2105 | ] 2106 | }, 2107 | "execution_count": 86, 2108 | "metadata": {}, 2109 | "output_type": "execute_result" 2110 | } 2111 | ], 2112 | "source": [ 2113 | "len(input_list)" 2114 | ] 2115 | }, 2116 | { 2117 | "cell_type": "code", 2118 | "execution_count": 87, 2119 | "id": "3aaa9b15", 2120 | "metadata": {}, 2121 | "outputs": [ 2122 | { 2123 | "data": { 2124 | "text/plain": [ 2125 | "6" 2126 | ] 2127 | }, 2128 | "execution_count": 87, 2129 | "metadata": {}, 2130 | "output_type": "execute_result" 2131 | } 2132 | ], 2133 | "source": [ 2134 | "len(set(input_list))" 2135 | ] 2136 | }, 2137 | { 2138 | "cell_type": "code", 2139 | "execution_count": 88, 2140 | "id": "826df6a5", 2141 | "metadata": {}, 2142 | "outputs": [ 2143 | { 2144 | "data": { 2145 | "text/plain": [ 2146 | "set" 2147 | ] 2148 | }, 2149 | "execution_count": 88, 2150 | "metadata": {}, 2151 | "output_type": "execute_result" 2152 | } 2153 | ], 2154 | "source": [ 2155 | "type({1, 2, 3})" 2156 | ] 2157 | }, 2158 | { 2159 | "cell_type": "markdown", 2160 | "id": "d8406701", 2161 | "metadata": {}, 2162 | "source": [ 2163 | "### Словарь (dict)" 2164 | ] 2165 | }, 2166 | { 2167 | "cell_type": "markdown", 2168 | "id": "cc515a71", 2169 | "metadata": {}, 2170 | "source": [ 2171 | "Набор пар ключ и значение, где значение можно взять по ключу" 2172 | ] 2173 | }, 2174 | { 2175 | "cell_type": "code", 2176 | "execution_count": 89, 2177 | "id": "f5d24015", 2178 | "metadata": {}, 2179 | "outputs": [], 2180 | "source": [ 2181 | "phone_book = {\n", 2182 | " 'аквариум': '2-12-85-06',\n", 2183 | " 'экстренный': '02',\n", 2184 | " 'apple us': '800–692–7753'\n", 2185 | "}" 2186 | ] 2187 | }, 2188 | { 2189 | "cell_type": "code", 2190 | "execution_count": 90, 2191 | "id": "78b03035", 2192 | "metadata": {}, 2193 | "outputs": [ 2194 | { 2195 | "data": { 2196 | "text/plain": [ 2197 | "[['аквариум', '2-12-85-06'],\n", 2198 | " ['экстренный', '02'],\n", 2199 | " ['apple us', '800–692–7753']]" 2200 | ] 2201 | }, 2202 | "execution_count": 90, 2203 | "metadata": {}, 2204 | "output_type": "execute_result" 2205 | } 2206 | ], 2207 | "source": [ 2208 | "[\n", 2209 | " ['аквариум', '2-12-85-06'],\n", 2210 | " ['экстренный', '02'],\n", 2211 | " ['apple us', '800–692–7753']\n", 2212 | "]" 2213 | ] 2214 | }, 2215 | { 2216 | "cell_type": "code", 2217 | "execution_count": null, 2218 | "id": "77bc6195", 2219 | "metadata": {}, 2220 | "outputs": [], 2221 | "source": [] 2222 | }, 2223 | { 2224 | "cell_type": "code", 2225 | "execution_count": 91, 2226 | "id": "7beb8d99", 2227 | "metadata": {}, 2228 | "outputs": [ 2229 | { 2230 | "data": { 2231 | "text/plain": [ 2232 | "'02'" 2233 | ] 2234 | }, 2235 | "execution_count": 91, 2236 | "metadata": {}, 2237 | "output_type": "execute_result" 2238 | } 2239 | ], 2240 | "source": [ 2241 | "phone_book['экстренный']" 2242 | ] 2243 | }, 2244 | { 2245 | "cell_type": "code", 2246 | "execution_count": 92, 2247 | "id": "3500997e", 2248 | "metadata": {}, 2249 | "outputs": [], 2250 | "source": [ 2251 | "phone_book['экстренный'] = 112" 2252 | ] 2253 | }, 2254 | { 2255 | "cell_type": "code", 2256 | "execution_count": 93, 2257 | "id": "f0bc7461", 2258 | "metadata": {}, 2259 | "outputs": [ 2260 | { 2261 | "data": { 2262 | "text/plain": [ 2263 | "{'аквариум': '2-12-85-06', 'экстренный': 112, 'apple us': '800–692–7753'}" 2264 | ] 2265 | }, 2266 | "execution_count": 93, 2267 | "metadata": {}, 2268 | "output_type": "execute_result" 2269 | } 2270 | ], 2271 | "source": [ 2272 | "phone_book" 2273 | ] 2274 | }, 2275 | { 2276 | "cell_type": "code", 2277 | "execution_count": 94, 2278 | "id": "207908c1", 2279 | "metadata": {}, 2280 | "outputs": [ 2281 | { 2282 | "data": { 2283 | "text/plain": [ 2284 | "112" 2285 | ] 2286 | }, 2287 | "execution_count": 94, 2288 | "metadata": {}, 2289 | "output_type": "execute_result" 2290 | } 2291 | ], 2292 | "source": [ 2293 | "phone_book['экстренный']" 2294 | ] 2295 | }, 2296 | { 2297 | "cell_type": "code", 2298 | "execution_count": 95, 2299 | "id": "d9dba0b7", 2300 | "metadata": {}, 2301 | "outputs": [ 2302 | { 2303 | "data": { 2304 | "text/plain": [ 2305 | "112" 2306 | ] 2307 | }, 2308 | "execution_count": 95, 2309 | "metadata": {}, 2310 | "output_type": "execute_result" 2311 | } 2312 | ], 2313 | "source": [ 2314 | "phone_book.get('экстренный')" 2315 | ] 2316 | }, 2317 | { 2318 | "cell_type": "code", 2319 | "execution_count": 96, 2320 | "id": "1ab3655b", 2321 | "metadata": {}, 2322 | "outputs": [], 2323 | "source": [ 2324 | "phone_book['мастер дент'] = '274-10-01'" 2325 | ] 2326 | }, 2327 | { 2328 | "cell_type": "code", 2329 | "execution_count": 97, 2330 | "id": "942ac6ca", 2331 | "metadata": {}, 2332 | "outputs": [ 2333 | { 2334 | "data": { 2335 | "text/plain": [ 2336 | "{'аквариум': '2-12-85-06',\n", 2337 | " 'экстренный': 112,\n", 2338 | " 'apple us': '800–692–7753',\n", 2339 | " 'мастер дент': '274-10-01'}" 2340 | ] 2341 | }, 2342 | "execution_count": 97, 2343 | "metadata": {}, 2344 | "output_type": "execute_result" 2345 | } 2346 | ], 2347 | "source": [ 2348 | "phone_book" 2349 | ] 2350 | }, 2351 | { 2352 | "cell_type": "code", 2353 | "execution_count": 98, 2354 | "id": "74c0daa4", 2355 | "metadata": {}, 2356 | "outputs": [ 2357 | { 2358 | "data": { 2359 | "text/plain": [ 2360 | "'274-10-01'" 2361 | ] 2362 | }, 2363 | "execution_count": 98, 2364 | "metadata": {}, 2365 | "output_type": "execute_result" 2366 | } 2367 | ], 2368 | "source": [ 2369 | "phone_book['мастер дент']" 2370 | ] 2371 | }, 2372 | { 2373 | "cell_type": "code", 2374 | "execution_count": 99, 2375 | "id": "a9584059", 2376 | "metadata": {}, 2377 | "outputs": [], 2378 | "source": [ 2379 | "phone_book['petr'] = 111" 2380 | ] 2381 | }, 2382 | { 2383 | "cell_type": "code", 2384 | "execution_count": 100, 2385 | "id": "848fd7d2", 2386 | "metadata": {}, 2387 | "outputs": [ 2388 | { 2389 | "data": { 2390 | "text/plain": [ 2391 | "{'аквариум': '2-12-85-06',\n", 2392 | " 'экстренный': 112,\n", 2393 | " 'apple us': '800–692–7753',\n", 2394 | " 'мастер дент': '274-10-01',\n", 2395 | " 'petr': 111}" 2396 | ] 2397 | }, 2398 | "execution_count": 100, 2399 | "metadata": {}, 2400 | "output_type": "execute_result" 2401 | } 2402 | ], 2403 | "source": [ 2404 | "phone_book" 2405 | ] 2406 | }, 2407 | { 2408 | "cell_type": "markdown", 2409 | "id": "4c3cf714", 2410 | "metadata": {}, 2411 | "source": [ 2412 | "### Условный оператор (if)" 2413 | ] 2414 | }, 2415 | { 2416 | "cell_type": "markdown", 2417 | "id": "776ae051", 2418 | "metadata": {}, 2419 | "source": [ 2420 | "Иногда хочется написать код, а в нем сделать проверку. И в зависимости от проверки хочется по разному себя вести" 2421 | ] 2422 | }, 2423 | { 2424 | "cell_type": "code", 2425 | "execution_count": 101, 2426 | "id": "4aa9fb70", 2427 | "metadata": {}, 2428 | "outputs": [ 2429 | { 2430 | "name": "stdout", 2431 | "output_type": "stream", 2432 | "text": [ 2433 | "20\n" 2434 | ] 2435 | } 2436 | ], 2437 | "source": [ 2438 | "a = 10\n", 2439 | "b = 20\n", 2440 | "\n", 2441 | "max_of_a_and_b = a\n", 2442 | "\n", 2443 | "if b > a:\n", 2444 | " max_of_a_and_b = b\n", 2445 | "\n", 2446 | "# обратите внимание на двоеточие и отступ\n", 2447 | "\n", 2448 | "print(max_of_a_and_b)" 2449 | ] 2450 | }, 2451 | { 2452 | "cell_type": "code", 2453 | "execution_count": 102, 2454 | "id": "ea71242b", 2455 | "metadata": {}, 2456 | "outputs": [ 2457 | { 2458 | "data": { 2459 | "text/plain": [ 2460 | "56" 2461 | ] 2462 | }, 2463 | "execution_count": 102, 2464 | "metadata": {}, 2465 | "output_type": "execute_result" 2466 | } 2467 | ], 2468 | "source": [ 2469 | "max(a, b, 34, 56)" 2470 | ] 2471 | }, 2472 | { 2473 | "cell_type": "code", 2474 | "execution_count": 103, 2475 | "id": "847725c7", 2476 | "metadata": {}, 2477 | "outputs": [ 2478 | { 2479 | "name": "stdout", 2480 | "output_type": "stream", 2481 | "text": [ 2482 | "отрицательное\n" 2483 | ] 2484 | } 2485 | ], 2486 | "source": [ 2487 | "check_value = -42\n", 2488 | "\n", 2489 | "if check_value < 0:\n", 2490 | " print(\"отрицательное\")\n", 2491 | "elif check_value == 0:\n", 2492 | " print(\"нулевое\")\n", 2493 | "elif check_value > 0:\n", 2494 | " print(\"положительное\")" 2495 | ] 2496 | }, 2497 | { 2498 | "cell_type": "code", 2499 | "execution_count": 104, 2500 | "id": "875cc179", 2501 | "metadata": {}, 2502 | "outputs": [ 2503 | { 2504 | "name": "stdout", 2505 | "output_type": "stream", 2506 | "text": [ 2507 | "положительное\n" 2508 | ] 2509 | } 2510 | ], 2511 | "source": [ 2512 | "check_value = 42\n", 2513 | "\n", 2514 | "if check_value < 0:\n", 2515 | " print(\"отрицательное\")\n", 2516 | "elif check_value == 0:\n", 2517 | " print(\"нулевое\")\n", 2518 | "else:\n", 2519 | " print(\"положительное\")" 2520 | ] 2521 | }, 2522 | { 2523 | "cell_type": "markdown", 2524 | "id": "b336bd99", 2525 | "metadata": {}, 2526 | "source": [ 2527 | "### Цикл while" 2528 | ] 2529 | }, 2530 | { 2531 | "cell_type": "code", 2532 | "execution_count": 105, 2533 | "id": "b5bf7972", 2534 | "metadata": {}, 2535 | "outputs": [ 2536 | { 2537 | "name": "stdout", 2538 | "output_type": "stream", 2539 | "text": [ 2540 | "1\n", 2541 | "A\n", 2542 | "2\n", 2543 | "AA\n", 2544 | "3\n", 2545 | "AAA\n", 2546 | "4\n", 2547 | "AAAA\n", 2548 | "5\n", 2549 | "AAAAA\n", 2550 | "6\n", 2551 | "AAAAAA\n", 2552 | "7\n", 2553 | "AAAAAAA\n", 2554 | "8\n", 2555 | "AAAAAAAA\n", 2556 | "9\n", 2557 | "AAAAAAAAA\n", 2558 | "10\n", 2559 | "AAAAAAAAAA\n" 2560 | ] 2561 | } 2562 | ], 2563 | "source": [ 2564 | "step = 1\n", 2565 | "while step <= 10:\n", 2566 | " print(step)\n", 2567 | " print('A' * step)\n", 2568 | " step += 1" 2569 | ] 2570 | }, 2571 | { 2572 | "cell_type": "code", 2573 | "execution_count": 106, 2574 | "id": "f5248222", 2575 | "metadata": {}, 2576 | "outputs": [ 2577 | { 2578 | "ename": "NameError", 2579 | "evalue": "name 'word' is not defined", 2580 | "output_type": "error", 2581 | "traceback": [ 2582 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 2583 | "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", 2584 | "Input \u001b[0;32mIn [106]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mword\u001b[49m\n", 2585 | "\u001b[0;31mNameError\u001b[0m: name 'word' is not defined" 2586 | ] 2587 | } 2588 | ], 2589 | "source": [ 2590 | "word" 2591 | ] 2592 | }, 2593 | { 2594 | "cell_type": "markdown", 2595 | "id": "9ee561bb", 2596 | "metadata": {}, 2597 | "source": [ 2598 | "### Цикл for" 2599 | ] 2600 | }, 2601 | { 2602 | "cell_type": "code", 2603 | "execution_count": 107, 2604 | "id": "a0f2a302", 2605 | "metadata": {}, 2606 | "outputs": [ 2607 | { 2608 | "name": "stdout", 2609 | "output_type": "stream", 2610 | "text": [ 2611 | "['да', 'пребудет', 'с тобой', 'удача']\n" 2612 | ] 2613 | } 2614 | ], 2615 | "source": [ 2616 | "print(joda_words)" 2617 | ] 2618 | }, 2619 | { 2620 | "cell_type": "code", 2621 | "execution_count": 108, 2622 | "id": "6614f9a8", 2623 | "metadata": {}, 2624 | "outputs": [ 2625 | { 2626 | "name": "stdout", 2627 | "output_type": "stream", 2628 | "text": [ 2629 | "да\n", 2630 | "пребудет\n", 2631 | "с тобой\n", 2632 | "удача\n" 2633 | ] 2634 | } 2635 | ], 2636 | "source": [ 2637 | "for word in joda_words:\n", 2638 | " print(word)" 2639 | ] 2640 | }, 2641 | { 2642 | "cell_type": "code", 2643 | "execution_count": 109, 2644 | "id": "28ee89f6", 2645 | "metadata": {}, 2646 | "outputs": [ 2647 | { 2648 | "name": "stdout", 2649 | "output_type": "stream", 2650 | "text": [ 2651 | "ад\n", 2652 | "тедуберп\n", 2653 | "йобот с\n", 2654 | "ачаду\n" 2655 | ] 2656 | } 2657 | ], 2658 | "source": [ 2659 | "for word in joda_words:\n", 2660 | " print(word[::-1])" 2661 | ] 2662 | }, 2663 | { 2664 | "cell_type": "code", 2665 | "execution_count": 110, 2666 | "id": "daf9a440", 2667 | "metadata": {}, 2668 | "outputs": [ 2669 | { 2670 | "name": "stdout", 2671 | "output_type": "stream", 2672 | "text": [ 2673 | "0\n", 2674 | "1\n", 2675 | "2\n", 2676 | "3\n", 2677 | "4\n", 2678 | "5\n", 2679 | "6\n", 2680 | "7\n", 2681 | "8\n", 2682 | "9\n" 2683 | ] 2684 | } 2685 | ], 2686 | "source": [ 2687 | "for i in [0,1,2,3,4,5,6,7,8,9]:\n", 2688 | " print(i)" 2689 | ] 2690 | }, 2691 | { 2692 | "cell_type": "code", 2693 | "execution_count": 111, 2694 | "id": "ee5aedb6", 2695 | "metadata": {}, 2696 | "outputs": [ 2697 | { 2698 | "name": "stdout", 2699 | "output_type": "stream", 2700 | "text": [ 2701 | "это будет выведено 10 раз. раз: 1\n", 2702 | "это будет выведено 10 раз. раз: 2\n", 2703 | "это будет выведено 10 раз. раз: 3\n", 2704 | "это будет выведено 10 раз. раз: 4\n", 2705 | "это будет выведено 10 раз. раз: 5\n", 2706 | "это будет выведено 10 раз. раз: 6\n", 2707 | "это будет выведено 10 раз. раз: 7\n", 2708 | "это будет выведено 10 раз. раз: 8\n", 2709 | "это будет выведено 10 раз. раз: 9\n", 2710 | "это будет выведено 10 раз. раз: 10\n" 2711 | ] 2712 | } 2713 | ], 2714 | "source": [ 2715 | "for i in [0,1,2,3,4,5,6,7,8,9]:\n", 2716 | " print('это будет выведено 10 раз.', 'раз:', i+1)" 2717 | ] 2718 | }, 2719 | { 2720 | "cell_type": "code", 2721 | "execution_count": 112, 2722 | "id": "4dd941d0", 2723 | "metadata": {}, 2724 | "outputs": [ 2725 | { 2726 | "data": { 2727 | "text/plain": [ 2728 | "range(0, 10)" 2729 | ] 2730 | }, 2731 | "execution_count": 112, 2732 | "metadata": {}, 2733 | "output_type": "execute_result" 2734 | } 2735 | ], 2736 | "source": [ 2737 | "range(0, 10)" 2738 | ] 2739 | }, 2740 | { 2741 | "cell_type": "code", 2742 | "execution_count": 113, 2743 | "id": "8c0c7e55", 2744 | "metadata": {}, 2745 | "outputs": [ 2746 | { 2747 | "data": { 2748 | "text/plain": [ 2749 | "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" 2750 | ] 2751 | }, 2752 | "execution_count": 113, 2753 | "metadata": {}, 2754 | "output_type": "execute_result" 2755 | } 2756 | ], 2757 | "source": [ 2758 | "list(range(0, 10))" 2759 | ] 2760 | }, 2761 | { 2762 | "cell_type": "code", 2763 | "execution_count": 114, 2764 | "id": "4982f05b", 2765 | "metadata": {}, 2766 | "outputs": [ 2767 | { 2768 | "name": "stdout", 2769 | "output_type": "stream", 2770 | "text": [ 2771 | "это будет выведено 10 раз. раз: 1\n", 2772 | "это будет выведено 10 раз. раз: 2\n", 2773 | "это будет выведено 10 раз. раз: 3\n", 2774 | "это будет выведено 10 раз. раз: 4\n", 2775 | "это будет выведено 10 раз. раз: 5\n", 2776 | "это будет выведено 10 раз. раз: 6\n", 2777 | "это будет выведено 10 раз. раз: 7\n", 2778 | "это будет выведено 10 раз. раз: 8\n", 2779 | "это будет выведено 10 раз. раз: 9\n", 2780 | "это будет выведено 10 раз. раз: 10\n", 2781 | "это будет выведено 10 раз. раз: 11\n", 2782 | "это будет выведено 10 раз. раз: 12\n", 2783 | "это будет выведено 10 раз. раз: 13\n", 2784 | "это будет выведено 10 раз. раз: 14\n", 2785 | "это будет выведено 10 раз. раз: 15\n", 2786 | "это будет выведено 10 раз. раз: 16\n", 2787 | "это будет выведено 10 раз. раз: 17\n", 2788 | "это будет выведено 10 раз. раз: 18\n", 2789 | "это будет выведено 10 раз. раз: 19\n", 2790 | "это будет выведено 10 раз. раз: 20\n", 2791 | "это будет выведено 10 раз. раз: 21\n", 2792 | "это будет выведено 10 раз. раз: 22\n", 2793 | "это будет выведено 10 раз. раз: 23\n", 2794 | "это будет выведено 10 раз. раз: 24\n", 2795 | "это будет выведено 10 раз. раз: 25\n", 2796 | "это будет выведено 10 раз. раз: 26\n", 2797 | "это будет выведено 10 раз. раз: 27\n", 2798 | "это будет выведено 10 раз. раз: 28\n", 2799 | "это будет выведено 10 раз. раз: 29\n", 2800 | "это будет выведено 10 раз. раз: 30\n", 2801 | "это будет выведено 10 раз. раз: 31\n", 2802 | "это будет выведено 10 раз. раз: 32\n", 2803 | "это будет выведено 10 раз. раз: 33\n", 2804 | "это будет выведено 10 раз. раз: 34\n", 2805 | "это будет выведено 10 раз. раз: 35\n", 2806 | "это будет выведено 10 раз. раз: 36\n", 2807 | "это будет выведено 10 раз. раз: 37\n", 2808 | "это будет выведено 10 раз. раз: 38\n", 2809 | "это будет выведено 10 раз. раз: 39\n", 2810 | "это будет выведено 10 раз. раз: 40\n", 2811 | "это будет выведено 10 раз. раз: 41\n", 2812 | "это будет выведено 10 раз. раз: 42\n", 2813 | "это будет выведено 10 раз. раз: 43\n", 2814 | "это будет выведено 10 раз. раз: 44\n", 2815 | "это будет выведено 10 раз. раз: 45\n", 2816 | "это будет выведено 10 раз. раз: 46\n", 2817 | "это будет выведено 10 раз. раз: 47\n", 2818 | "это будет выведено 10 раз. раз: 48\n", 2819 | "это будет выведено 10 раз. раз: 49\n", 2820 | "это будет выведено 10 раз. раз: 50\n", 2821 | "это будет выведено 10 раз. раз: 51\n", 2822 | "это будет выведено 10 раз. раз: 52\n", 2823 | "это будет выведено 10 раз. раз: 53\n", 2824 | "это будет выведено 10 раз. раз: 54\n", 2825 | "это будет выведено 10 раз. раз: 55\n", 2826 | "это будет выведено 10 раз. раз: 56\n", 2827 | "это будет выведено 10 раз. раз: 57\n", 2828 | "это будет выведено 10 раз. раз: 58\n", 2829 | "это будет выведено 10 раз. раз: 59\n", 2830 | "это будет выведено 10 раз. раз: 60\n", 2831 | "это будет выведено 10 раз. раз: 61\n", 2832 | "это будет выведено 10 раз. раз: 62\n", 2833 | "это будет выведено 10 раз. раз: 63\n", 2834 | "это будет выведено 10 раз. раз: 64\n", 2835 | "это будет выведено 10 раз. раз: 65\n", 2836 | "это будет выведено 10 раз. раз: 66\n", 2837 | "это будет выведено 10 раз. раз: 67\n", 2838 | "это будет выведено 10 раз. раз: 68\n", 2839 | "это будет выведено 10 раз. раз: 69\n", 2840 | "это будет выведено 10 раз. раз: 70\n", 2841 | "это будет выведено 10 раз. раз: 71\n", 2842 | "это будет выведено 10 раз. раз: 72\n", 2843 | "это будет выведено 10 раз. раз: 73\n", 2844 | "это будет выведено 10 раз. раз: 74\n", 2845 | "это будет выведено 10 раз. раз: 75\n", 2846 | "это будет выведено 10 раз. раз: 76\n", 2847 | "это будет выведено 10 раз. раз: 77\n", 2848 | "это будет выведено 10 раз. раз: 78\n", 2849 | "это будет выведено 10 раз. раз: 79\n", 2850 | "это будет выведено 10 раз. раз: 80\n", 2851 | "это будет выведено 10 раз. раз: 81\n", 2852 | "это будет выведено 10 раз. раз: 82\n", 2853 | "это будет выведено 10 раз. раз: 83\n", 2854 | "это будет выведено 10 раз. раз: 84\n", 2855 | "это будет выведено 10 раз. раз: 85\n", 2856 | "это будет выведено 10 раз. раз: 86\n", 2857 | "это будет выведено 10 раз. раз: 87\n", 2858 | "это будет выведено 10 раз. раз: 88\n", 2859 | "это будет выведено 10 раз. раз: 89\n", 2860 | "это будет выведено 10 раз. раз: 90\n", 2861 | "это будет выведено 10 раз. раз: 91\n", 2862 | "это будет выведено 10 раз. раз: 92\n", 2863 | "это будет выведено 10 раз. раз: 93\n", 2864 | "это будет выведено 10 раз. раз: 94\n", 2865 | "это будет выведено 10 раз. раз: 95\n", 2866 | "это будет выведено 10 раз. раз: 96\n", 2867 | "это будет выведено 10 раз. раз: 97\n", 2868 | "это будет выведено 10 раз. раз: 98\n", 2869 | "это будет выведено 10 раз. раз: 99\n", 2870 | "это будет выведено 10 раз. раз: 100\n" 2871 | ] 2872 | } 2873 | ], 2874 | "source": [ 2875 | "for i in range(0, 100):\n", 2876 | " print('это будет выведено 10 раз.', 'раз:', i+1)" 2877 | ] 2878 | }, 2879 | { 2880 | "cell_type": "code", 2881 | "execution_count": 115, 2882 | "id": "e542d3c9", 2883 | "metadata": {}, 2884 | "outputs": [ 2885 | { 2886 | "data": { 2887 | "text/plain": [ 2888 | "[90, 80, 70, 60, 50, 40, 30, 20, 10]" 2889 | ] 2890 | }, 2891 | "execution_count": 115, 2892 | "metadata": {}, 2893 | "output_type": "execute_result" 2894 | } 2895 | ], 2896 | "source": [ 2897 | "list(range(90, 9, -10))" 2898 | ] 2899 | }, 2900 | { 2901 | "cell_type": "markdown", 2902 | "id": "890de4d5", 2903 | "metadata": {}, 2904 | "source": [ 2905 | "### Функции" 2906 | ] 2907 | }, 2908 | { 2909 | "cell_type": "code", 2910 | "execution_count": 116, 2911 | "id": "31736570", 2912 | "metadata": {}, 2913 | "outputs": [], 2914 | "source": [ 2915 | "def sum_a_b(a, b):\n", 2916 | " result = a + b\n", 2917 | " return result" 2918 | ] 2919 | }, 2920 | { 2921 | "cell_type": "code", 2922 | "execution_count": 117, 2923 | "id": "632e2602", 2924 | "metadata": {}, 2925 | "outputs": [ 2926 | { 2927 | "data": { 2928 | "text/plain": [ 2929 | "14" 2930 | ] 2931 | }, 2932 | "execution_count": 117, 2933 | "metadata": {}, 2934 | "output_type": "execute_result" 2935 | } 2936 | ], 2937 | "source": [ 2938 | "sum_a_b(10, 4)" 2939 | ] 2940 | }, 2941 | { 2942 | "cell_type": "code", 2943 | "execution_count": 118, 2944 | "id": "61bfefde", 2945 | "metadata": {}, 2946 | "outputs": [], 2947 | "source": [ 2948 | "# a*x**2+b*x+c = 0\n", 2949 | "def f(a, b, c):\n", 2950 | " d = b**2 -4*a*c\n", 2951 | " if d > 0:\n", 2952 | " print('два разных корня')\n", 2953 | " x1 = (-b + d**.5) / (2*a)\n", 2954 | " x2 = (-b - d**.5) / (2*a)\n", 2955 | " print('x1 =', x1)\n", 2956 | " print('x2 =', x2)\n", 2957 | " elif d == 0:\n", 2958 | " print('два равных корня')\n", 2959 | " x = (-b) / (2*a)\n", 2960 | " print('x1 = x2 =', x)\n", 2961 | " else:\n", 2962 | " print('вещественных корней нет')" 2963 | ] 2964 | }, 2965 | { 2966 | "cell_type": "code", 2967 | "execution_count": 119, 2968 | "id": "c42593c1", 2969 | "metadata": {}, 2970 | "outputs": [ 2971 | { 2972 | "name": "stdout", 2973 | "output_type": "stream", 2974 | "text": [ 2975 | "два равных корня\n", 2976 | "x1 = x2 = -1.0\n" 2977 | ] 2978 | } 2979 | ], 2980 | "source": [ 2981 | "f(2, 4, 2)" 2982 | ] 2983 | }, 2984 | { 2985 | "cell_type": "code", 2986 | "execution_count": 120, 2987 | "id": "0bfaf722", 2988 | "metadata": {}, 2989 | "outputs": [ 2990 | { 2991 | "name": "stdout", 2992 | "output_type": "stream", 2993 | "text": [ 2994 | "два равных корня\n" 2995 | ] 2996 | }, 2997 | { 2998 | "ename": "ZeroDivisionError", 2999 | "evalue": "division by zero", 3000 | "output_type": "error", 3001 | "traceback": [ 3002 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 3003 | "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", 3004 | "Input \u001b[0;32mIn [120]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\n", 3005 | "Input \u001b[0;32mIn [118]\u001b[0m, in \u001b[0;36mf\u001b[0;34m(a, b, c)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m d \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mдва равных корня\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m---> 12\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[43m(\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mb\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43ma\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mx1 = x2 =\u001b[39m\u001b[38;5;124m'\u001b[39m, x)\n\u001b[1;32m 14\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", 3006 | "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" 3007 | ] 3008 | } 3009 | ], 3010 | "source": [ 3011 | "f(0, 0, 0)" 3012 | ] 3013 | }, 3014 | { 3015 | "cell_type": "markdown", 3016 | "id": "cc5ed7cb", 3017 | "metadata": {}, 3018 | "source": [ 3019 | "### Дополнительные библиотеки" 3020 | ] 3021 | }, 3022 | { 3023 | "cell_type": "code", 3024 | "execution_count": 121, 3025 | "id": "97c2970a", 3026 | "metadata": {}, 3027 | "outputs": [], 3028 | "source": [ 3029 | "import math" 3030 | ] 3031 | }, 3032 | { 3033 | "cell_type": "code", 3034 | "execution_count": 122, 3035 | "id": "b8d83532", 3036 | "metadata": {}, 3037 | "outputs": [ 3038 | { 3039 | "data": { 3040 | "text/plain": [ 3041 | "2.718281828459045" 3042 | ] 3043 | }, 3044 | "execution_count": 122, 3045 | "metadata": {}, 3046 | "output_type": "execute_result" 3047 | } 3048 | ], 3049 | "source": [ 3050 | "math.e" 3051 | ] 3052 | }, 3053 | { 3054 | "cell_type": "code", 3055 | "execution_count": 123, 3056 | "id": "e25016c8", 3057 | "metadata": {}, 3058 | "outputs": [], 3059 | "source": [ 3060 | "from collections import Counter\n", 3061 | "#from collections" 3062 | ] 3063 | }, 3064 | { 3065 | "cell_type": "code", 3066 | "execution_count": 124, 3067 | "id": "b68dd60e", 3068 | "metadata": {}, 3069 | "outputs": [ 3070 | { 3071 | "data": { 3072 | "text/plain": [ 3073 | "Counter({1: 1, 2: 1, 3: 1, 4: 4, 5: 1, 6: 1, 7: 1, 13: 1, 54: 1})" 3074 | ] 3075 | }, 3076 | "execution_count": 124, 3077 | "metadata": {}, 3078 | "output_type": "execute_result" 3079 | } 3080 | ], 3081 | "source": [ 3082 | "Counter([1,2,3,4,5,6,7,13,54,4,4,4])" 3083 | ] 3084 | }, 3085 | { 3086 | "cell_type": "code", 3087 | "execution_count": 125, 3088 | "id": "f962de89", 3089 | "metadata": {}, 3090 | "outputs": [], 3091 | "source": [ 3092 | "from time import sleep as zhdun" 3093 | ] 3094 | }, 3095 | { 3096 | "cell_type": "code", 3097 | "execution_count": 126, 3098 | "id": "ca21c398", 3099 | "metadata": {}, 3100 | "outputs": [ 3101 | { 3102 | "name": "stdout", 3103 | "output_type": "stream", 3104 | "text": [ 3105 | "start\n", 3106 | "end\n" 3107 | ] 3108 | } 3109 | ], 3110 | "source": [ 3111 | "print('start')\n", 3112 | "zhdun(10)\n", 3113 | "print('end')" 3114 | ] 3115 | }, 3116 | { 3117 | "cell_type": "markdown", 3118 | "id": "34ee5d40", 3119 | "metadata": {}, 3120 | "source": [ 3121 | "### Файлы: чтение и запись" 3122 | ] 3123 | }, 3124 | { 3125 | "cell_type": "code", 3126 | "execution_count": 127, 3127 | "id": "366b8fa3", 3128 | "metadata": {}, 3129 | "outputs": [], 3130 | "source": [ 3131 | "file = open(\"text.txt\", \"r\")\n", 3132 | "# r - чтение\n", 3133 | "# w - запись\n", 3134 | "# a - дописать\n", 3135 | "# x - запись, но если файл есть - упасть" 3136 | ] 3137 | }, 3138 | { 3139 | "cell_type": "code", 3140 | "execution_count": 128, 3141 | "id": "a965367c", 3142 | "metadata": {}, 3143 | "outputs": [ 3144 | { 3145 | "data": { 3146 | "text/plain": [ 3147 | "<_io.TextIOWrapper name='text.txt' mode='r' encoding='UTF-8'>" 3148 | ] 3149 | }, 3150 | "execution_count": 128, 3151 | "metadata": {}, 3152 | "output_type": "execute_result" 3153 | } 3154 | ], 3155 | "source": [ 3156 | "file" 3157 | ] 3158 | }, 3159 | { 3160 | "cell_type": "code", 3161 | "execution_count": 129, 3162 | "id": "d5213bf6", 3163 | "metadata": {}, 3164 | "outputs": [ 3165 | { 3166 | "name": "stdout", 3167 | "output_type": "stream", 3168 | "text": [ 3169 | "\n" 3170 | ] 3171 | } 3172 | ], 3173 | "source": [ 3174 | "all_data = file.read()\n", 3175 | "print(all_data)" 3176 | ] 3177 | }, 3178 | { 3179 | "cell_type": "code", 3180 | "execution_count": 130, 3181 | "id": "c3841a7b", 3182 | "metadata": {}, 3183 | "outputs": [], 3184 | "source": [ 3185 | "file.close()" 3186 | ] 3187 | }, 3188 | { 3189 | "cell_type": "code", 3190 | "execution_count": 131, 3191 | "id": "d6ddc578", 3192 | "metadata": {}, 3193 | "outputs": [ 3194 | { 3195 | "ename": "FileExistsError", 3196 | "evalue": "[Errno 17] File exists: 'text2.txt'", 3197 | "output_type": "error", 3198 | "traceback": [ 3199 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 3200 | "\u001b[0;31mFileExistsError\u001b[0m Traceback (most recent call last)", 3201 | "Input \u001b[0;32mIn [131]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m file \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtext2.txt\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mx\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m all_data \u001b[38;5;241m=\u001b[39m file\u001b[38;5;241m.\u001b[39mreadlines()\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(all_data)\n", 3202 | "\u001b[0;31mFileExistsError\u001b[0m: [Errno 17] File exists: 'text2.txt'" 3203 | ] 3204 | } 3205 | ], 3206 | "source": [ 3207 | "file = open(\"text2.txt\", 'x')\n", 3208 | "all_data = file.readlines()\n", 3209 | "print(all_data)\n", 3210 | "file.close()" 3211 | ] 3212 | }, 3213 | { 3214 | "cell_type": "code", 3215 | "execution_count": null, 3216 | "id": "8259c94b", 3217 | "metadata": {}, 3218 | "outputs": [], 3219 | "source": [] 3220 | }, 3221 | { 3222 | "cell_type": "code", 3223 | "execution_count": 132, 3224 | "id": "eafe9083", 3225 | "metadata": {}, 3226 | "outputs": [], 3227 | "source": [ 3228 | "new_file = open(\"new_file.txt\", \"w\")" 3229 | ] 3230 | }, 3231 | { 3232 | "cell_type": "code", 3233 | "execution_count": null, 3234 | "id": "a19fef43", 3235 | "metadata": {}, 3236 | "outputs": [], 3237 | "source": [] 3238 | }, 3239 | { 3240 | "cell_type": "code", 3241 | "execution_count": 133, 3242 | "id": "61f4dbff", 3243 | "metadata": {}, 3244 | "outputs": [ 3245 | { 3246 | "data": { 3247 | "text/plain": [ 3248 | "37" 3249 | ] 3250 | }, 3251 | "execution_count": 133, 3252 | "metadata": {}, 3253 | "output_type": "execute_result" 3254 | } 3255 | ], 3256 | "source": [ 3257 | "new_file.write('Это большой текст\\nИз нескольких строк')" 3258 | ] 3259 | }, 3260 | { 3261 | "cell_type": "code", 3262 | "execution_count": 134, 3263 | "id": "a2a8783c", 3264 | "metadata": {}, 3265 | "outputs": [], 3266 | "source": [ 3267 | "new_file.close()" 3268 | ] 3269 | }, 3270 | { 3271 | "cell_type": "code", 3272 | "execution_count": 135, 3273 | "id": "3de71ef8", 3274 | "metadata": {}, 3275 | "outputs": [ 3276 | { 3277 | "name": "stdout", 3278 | "output_type": "stream", 3279 | "text": [ 3280 | "Это большой текст\r\n", 3281 | "Из нескольких строк" 3282 | ] 3283 | } 3284 | ], 3285 | "source": [ 3286 | "!cat new_file.txt # в windows аналог cat - команда type\n", 3287 | "#!type new_file.txt" 3288 | ] 3289 | }, 3290 | { 3291 | "cell_type": "code", 3292 | "execution_count": 136, 3293 | "id": "d8605198", 3294 | "metadata": {}, 3295 | "outputs": [], 3296 | "source": [ 3297 | "text = [\n", 3298 | " 'Первая строка\\n',\n", 3299 | " 'Вторая строка\\n',\n", 3300 | " 'Ну и третья\\n'\n", 3301 | "]" 3302 | ] 3303 | }, 3304 | { 3305 | "cell_type": "code", 3306 | "execution_count": 137, 3307 | "id": "2ec31dab", 3308 | "metadata": {}, 3309 | "outputs": [], 3310 | "source": [ 3311 | "new_file = open(\"new_file2.txt\", \"a\")\n", 3312 | "new_file.writelines(text)\n", 3313 | "new_file.close()" 3314 | ] 3315 | }, 3316 | { 3317 | "cell_type": "code", 3318 | "execution_count": 138, 3319 | "id": "517ae874", 3320 | "metadata": {}, 3321 | "outputs": [ 3322 | { 3323 | "name": "stdout", 3324 | "output_type": "stream", 3325 | "text": [ 3326 | "Первая строка\r\n", 3327 | "Вторая строка\r\n", 3328 | "Ну и третья\r\n", 3329 | "Первая строка\r\n", 3330 | "Вторая строка\r\n", 3331 | "Ну и третья\r\n", 3332 | "Первая строка\r\n", 3333 | "Вторая строка\r\n", 3334 | "Ну и третья\r\n" 3335 | ] 3336 | } 3337 | ], 3338 | "source": [ 3339 | "!cat new_file2.txt" 3340 | ] 3341 | } 3342 | ], 3343 | "metadata": { 3344 | "kernelspec": { 3345 | "display_name": "Python 3 (ipykernel)", 3346 | "language": "python", 3347 | "name": "python3" 3348 | }, 3349 | "language_info": { 3350 | "codemirror_mode": { 3351 | "name": "ipython", 3352 | "version": 3 3353 | }, 3354 | "file_extension": ".py", 3355 | "mimetype": "text/x-python", 3356 | "name": "python", 3357 | "nbconvert_exporter": "python", 3358 | "pygments_lexer": "ipython3", 3359 | "version": "3.9.10" 3360 | } 3361 | }, 3362 | "nbformat": 4, 3363 | "nbformat_minor": 5 3364 | } 3365 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # open-ml-course --------------------------------------------------------------------------------