Автор: Master 05.11.2017 13:46.

          Первый пример цикла в цикле.

>>> цикл_ступенька=['адын','дваа','тыр']
>>> for x in цикл_ступенька:
        print(x)
        for y in цикл_ступенька:
                print(y)

адын
адын
дваа
тыр
дваа
адын
дваа
тыр
тыр
адын
дваа
тыр

          Я хрен его знает как это объяснить. Визуально понимаю, а сформулировать пока сложно. Цикл с переменной у будет выполнятся для каждого элемента списка цикла с переменной х. Наверное это самое близкое к правильному комментарию.

          *Придумал как сформулировать. Выполняется цикл для первого значения первой переменной, потом выполняется второй цикл для всех трёх значений, так как он дочерний (надо правильное слово вспомнить) от первого цикла. Потом опять первый цикл но уже для второго значения, и снова второй цикл снова для всех значений. Ну и третий тоже там же.

----------------------------------------------------------------------------------------------------

          А вот это уже интереснее.

>>> оп=20
>>> опа=70
>>> опапа=8
>>> сумма=оп
>>> for порядок in range (1, 5):
            сумма=сумма+опа+опапа
            print("Порядок %s = %s" % (порядок, сумма))

Порядок 1 = 98
Порядок 2 = 176
Порядок 3 = 254
Порядок 4 = 332

          Так стоп. Вопрос. Нахера нужна вообще 4-ая строчка: >>> сумма=оп .?

          Почему строчка следующая после команды цикла с диапазоном не может звучать так: сумма=оп+опа+опапа.?

          Точнее если её так написать, то результат получается таким:

Порядок 1 = 98
Порядок 2 = 98
Порядок 3 = 98
Порядок 4 = 98

          Я хер его знает - надо у кого-то будет спросить. (Знакомые помогли понять - тут четвёртая строчка впринципе лишняя. И без неё всё становится гораздо логичнее):

>>> оп=20
>>> опа=70
>>> опапа=8
>>> for порядок in range (1, 5):
            оп=оп+опа+опапа
            print("Порядок %s = %s" % (порядок, оп))

Порядок 1 = 98
Порядок 2 = 176
Порядок 3 = 254
Порядок 4 = 332

Автор: Master 05.11.2017 22:10.

Цикл While.

>>> x=40
>>> t=80
>>> while x<50 and t<100:
            x=x+1
            t=t+1
            print (x,t)

41 81
42 82
43 83
44 84
45 85
46 86
47 87
48 88
49 89
50 90

          Ясли.

Автор: Master 06.11.2017 21:27.

>>> for x in range(1,7,2):
          print(x)

1
3
5


>>> for x in range(2,7,2):
          print(x)

2
4
6

          В скобках 3 цифры. Первые две - с какой цикл начинается и до той, предыдущая перед которой цикл завершает. бля. Третья цифра - шаг цикла.

----------------------------------------------------------------------------------------------------

>>> ingridients=['odin', 'dva', 'tri', 'shtiri', 'piat']
>>> nomer=1
>>> for i in ingridients:
          print("%s %s" % (nomer, i))
          nomer=nomer+1

1 odin
2 dva
3 tri
4 shtiri
5 piat

          Для переменной "i" присваеваем значение каждого элемента списка ingridients. логично.

----------------------------------------------------------------------------------------------------

>>> вес=98
>>> for год in range (1,15):
          вес=вес+1
          вес_на_луне=вес*0.165
          print("Год %s твой вес %s" % (год, вес_на_луне))

Год 1 твой вес 16.335
Год 2 твой вес 16.5
Год 3 твой вес 16.665
Год 4 твой вес 16.830000000000002
Год 5 твой вес 16.995
Год 6 твой вес 17.16
Год 7 твой вес 17.325
Год 8 твой вес 17.490000000000002
Год 9 твой вес 17.655
Год 10 твой вес 17.82
Год 11 твой вес 17.985
Год 12 твой вес 18.150000000000002
Год 13 твой вес 18.315
Год 14 твой вес 18.48

          Этот цикл надо запомнить. Бо сам по заданию пока его склепать не смог.

Автор: Master 07.11.2017 18:45.

>>> def say_hallo (say_my_name):
            print ('Превед %s' % say_my_name)

          Это оно типа в краткосрочной памяти Питона сохранилось. И потом к этой сохранённой функции можно когда-нибудь вернуться:

>>> say_hallo('Pedro')
Превед Pedro

          Или тоже самое можно с несколькими значениями буцнуть:

>>> def say_my_name(name, surname):
print ('bonjur, %s %s' % (name, surname)

>>> say_my_name ('сеньёор', "педро")
bonjur, сеньёор педро

          Прикольненько.

----------------------------------------------------------------------------------------------------

>>> def сбережения(зарплата, халтуры, расходы, коммуналка):
          return(зарплата+халтуры-расходы-коммуналка)

>>> print (сбережения(250,180,120,65))
245

Автор: Master 08.11.2017 19:10.

          Область видимости. Переменную, которая пребывает всередине тела функции, нельзя использовать ещё раз, когда функция уже выполнила своё действие. т.к. она существует только в границах функции.

          Например функция под названием "тест_переменных" без параметров (пустые скобки), с двумя переменными:

>>> def тест_переменных():
            первая=10
            вторая=20
            return первая+вторая

>>> print(тест_переменных())
30

          Вызов функции с командой print выводит результат. Однако если попробовать напечатать содержимое одной из переменных вне блока кода - получим ошибку. Так как эта переменная находится вне области видимости функции.

>>> print(первая)
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    print(первая)
NameError: name 'первая' is not defined

----------------------------------------------------------------------------------------------------

>>> третья=50
>>> def тест_переменных_2():
            первая=10
            вторая=20
            return первая*вторая*третья

>>> print(тест_переменных_2())
10000
>>> print(третья)
50

          А вот тут одну переменную, которая находится вне зоны видимости можно задействовать в функции, и потом даже обратиться к ней с командой принт. Треба запомнить.

----------------------------------------------------------------------------------------------------

>>> def house_build(kirpich):
            all_kirpichez=0
            for week in range(1,53): #53 - количество недель в году
                        all_kirpichez=all_kirpichez+kirpich
                        print("Week %s = %s kirpichez" % (week, all_kirpichez))

>>> house_build(3)
Week 1 = 3 kirpichez
Week 2 = 6 kirpichez
Week 3 = 9 kirpichez
...
Week 51 = 153 kirpichez
Week 52 = 156 kirpichez

          И потом этой функцией можно пользоваться повторно, подставляя разное значение кирпичей. Прикольненько.