Досега се научихме да работим с три основни команди:
изразът за присвояване създава или променя съдържанието на променлива
отпечатайте някои стойности в текстовата област с помощта на 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 .