Досега се научихме да работим с три основни команди:

функцията range

изразът за присвояване създава или променя съдържанието на променлива

отпечатайте някои стойности в текстовата област с помощта на print ()

прочетете стойността, въведена от клавиатурата с помощта на input ()

трябва да напишем:

Това е дизайнът на Python за цикъл

За цикъл

Постепенно ще ви покажем някои основни видове циклично използване.

Циклирайте с определен брой повторения

Тази конструкция на програмата има следната форма:

Нека напишем програма, която ще въведе въведения текст 5 пъти:

Команден блок може да съдържа не само една команда, но и множество команди, например

Блокът от команди, които могат да бъдат повторени в даден цикъл, завършва, например, когато се появи команден ред на нивото на реда за линия. По този начин последният ред с символите '============' ще бъде отпечатан само след края на цикъла, т.е. само веднъж:

Все още не знаем за какво служи променливата на цикъла (в нашия пример, prem). Python автоматично задава стойността на тази променлива според броя на изпълненията на цикъла. Така че записът:

всъщност означава:

По този начин програмата изброява:

Нулираме номера на променливата преди началото на цикъла. Резултатът може да бъде, например, както следва:

Ако добавим стойността на променливата на цикъла вместо 1:

получаваме набор от числа от 0 до n-1, т.е. 0 + 1 + 2 + 3 +. + n-2 + n-1, например:

Виждаме, че 15 комплекта на стойност 0 + 1 + 2 + 3 + 4 + 5 .

Имайте предвид, че с този алгоритъм напълно ненужно добавяме 0 към променливата sucet в началото на цикъла.

Цикъл с именувани стойности

Нека да покажем този следващ тип за цикъл на примера:

и наистина получаваме:

След стартирането получаваме:

Следващият пример показва изчисляването на броя на дните в годината като сбор от броя на дните във всеки месец:

Очевидно е, че можем да използваме този тип цикъл само ако имаме точен списък със стойности, а не всяко число, което функцията range () обработва преди това. .

и резултатът е:

Модел на акумулатора

и вероятно ще бъде написано:

Видяхме, че функцията range (n) замества изброяването на целочислени стойности от 0 до n-1. Тази функция всъщност е малко по-универсална: позволява ви да въведете не само крайната стойност на генерираната последователност, но и началната стойност. В този случай извикваме функцията с два параметъра:

след това първият параметър показва началната стойност на последователността

вторият параметър показва стойността, при която завършва генерирането на последователността, т.е. последователността ще съдържа само стойности, по-малки от този втори параметър

и изходът е например:

Сега можем да помогнем допълнителен шаблон също изчислете коефициента за всяка въведена стойност:

Нека да работим с различни стойности:

Ако стартираме следната програма:

бихме получили извлечение от 100 реда с числа от 100 до 199. Но сега би било полезно, ако print () не завършва с нов ред в някои ситуации, а друг print () ще продължи. Ще използваме нов тип параметър на функцията print ():

print (., end = 'string') ¶ Параметри

end = 'низ' този низ обаче ще замени стандартните „\ n“ незадължителни други, най-често това ще бъде единично интервал „или празен низ“

Този параметър трябва да бъде посочен последен в списъка с параметри на функцията print () след всички изброени стойности. Благодарение на него, след въвеждане на тези стойности, въведеният низ ще бъде записан, вместо да се премести в нов ред.

Но с празен низ за крайния параметър:

Ще използваме такъв запис главно при изброяване на голям брой стойности, но също така и когато трябва да съставим един ред на отчета от няколко части в различни части на програмата, например:

диапазон (стоп) ¶ диапазон (старт, стоп) диапазон (старт, стоп, стъпка) Параметри

Започнете първият елемент от генерираната последователност (ако липсва, се приема 0)

Спри се - стойност, при която генерирането на следващата стойност на последователността ще спре - тази стойност вече няма да бъде в последователността

стъпка в hodnota “стойност, с която се увеличава всеки от следните елементи на последователност, ако този параметър липсва, се приема 1

Ще покажем това най-добре на примерите на различно генерирани последователности от цели числа. Таблицата показва резултатите за различни параметри:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

10, 20, 30, 40, 50, 60, 70, 90

Специален случай на параметрите на функцията range () е отрицателна стъпка, т.е. ситуация, в която се изисква намаляваща последователност от числа. Например, диапазонът на въвеждане (15, 5, -1) показва, че първият член на последователността ще бъде 15, всички останали ще бъдат с 1 по-малко (стъпката на параметъра е -1) и последният няма да бъде по-малко или равно на като 5 (параметърът за спиране е 5). Тестваме:

и получаваме последователността:

Това ни дава същата последователност като в предишния пример. Да проверим:

Какво е много по-четливо от използването на диапазон (9, -1, -1) .

Математически и произволни модули

функцията type () връща типа на посочената стойност

Функциите int (), float () и str () прехвърлят (конвертират) зададената стойност в друг тип

Функциите range () и reversed () генерират последователност от числа, съответно. те я питат

Модул по математика

Последното съобщение за грешка гласи, че трябва да извикаме функцията sin само с един параметър (извикванията без параметри няма да са възможни в Python).

По същия начин можем да въведем:

Това показва, че функцията sin () от математическия модул наистина изчислява синуса, но ъгълът трябва да бъде въведен в радиани. Следователно, за да изчислим греха (45), трябва да напишем една от опциите:

Второто и третото изчисление използват или константата pi, или функцията за преобразуване radians (), която преобразува градусите в радиани. Вероятно най-често ще използваме третия вариант, използвайки радиани () .

Създайте таблица, за да оцените функциите на синус и косинус за ъгли от 0 до 90 градуса в стъпка 5:

Нека се опитаме да нарисуваме (в текстовата област с помощта на някои знаци) хода на функцията синус. Тъй като полето на стойност на тази функция е интервалът от реални числа 1> и ние искаме да разтегнем тези стойности до ширината на изявлението до 80 знака, ние пишем:

След това низът в текстовата област изглежда така:

Подобен списък е по-малко прозрачен и не препоръчваме да го използвате особено за начинаещи.

От програмиста зависи да използва регистрационния файл. Някои предпочитат предишната версия с името на библиотеката, написано с точка, защото при четене на програмата е по-ясно откъде идва функцията.

Случайен модул

Този модул също съдържа библиотека от функции, но те позволяват генерирането на случайни числа. Ще използваме поне следните две функции от тази библиотека:

За да работим с тези функции, не трябва да забравяме да напишем:

Втората функция, choice (), работи много подобно. Този има само един параметър, който е да оцени някаква последователност. Досега сме срещали две последователности от стойности: диапазон (.) Функция и символни низове. Ако пишем:

За нас най-интересната последователност от символи днес е произволният низ от символи. Например обаждане:

избира Случайни стойност от поредица от шест знака - поредица от гласни. По същия начин бихме могли да напишем:

Имайте предвид, че в тялото на външния цикъл за цикъл (с променлива на цикъла j) има три команди: присвояване, след това т.нар. вложен извикване на функцията за цикъл и край на print () .

В следващите примери ще покажем няколко различни ситуации, в които се използва вложеният цикъл.

Нека първо напишем програма, която изброява числа от 0 до 99 до 10 реда, така че в първата колона да има числа от 0 до 9, във втората от 10 до 19, а в последната десета цифра има числа от 90 до 99:

След стартирането получаваме:

В тази програма вътрешният цикъл също има променливи на цикъла j със стойности на стъпки от 10, но във всеки ред се стартира различна стойност.

Ще използваме същата идея, дори ако създадем таблица с числа от 0 до 99, но организирани по различен начин: в първия ред има числа от 0 до 9, във втория от 10 до 19, в последния десети номер от 90 до 99:

Разбира се, различните различни записи на решението на тази задача са повече.

Забележете по-малката от променливите на цикъла на редовете и числата, за да можем по-добре да разберем какво се случва в кой цикъл. Нека да стартираме, например:

Ние използваме в това решение спомагателна променлива числото, което задаваме на 1 преди цикъла, във вътрешния цикъл отпечатваме неговата стойност (а не променливата на цикъла) и след това го увеличаваме с 1 .