пятница, 11 марта 2011 г.

Python Цикл While # 9

Цикл - это выполнение одного и того же действия пока действует определённое условие. Применяется такой приём в программировании очень часто. Даже можно сказать, что нет ни одной сложной программы, где не использовался цикл.

Всего в языке Python два цикла: While, For. Сейчас будет рассматриваться While.

Также как и в операторе условия if, у цикла While имеется конструкция. Она довольна схожая.

while условие :
    программа


Пример:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def primer_9():
    a=0
    b=10
    while b>a:
        print ('цикл выполнился '+str(a)+' раз')
        a=a+1  
def main():
    primer_9()
    return 0
 
if __name__ == '__main__':
    main()


Данная программа выполняет циклическую операцию, где a и b переменные над которыми происходят вычисления.
  1. Первым действием распечатывается текст "цикл ..." и значение a.
  2. Вторым к a прибавляется один. Затем цикл повторяется до тех пор, пока а не будет равно 10.
Вот более сложный пример:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def main(): 
    option=1
    while option != 0:
        print "***********MENU*************"
        print "1.Сумма чмсел"
        print "2.Периметр и Площадь Окружности"
        print "0.Выход"
        print "*" *28
        option = input("Введите номер функции:")
        if option == 0:
            quit
        
        if option == 1:
            a=input("Введите первое число:")
            b=input("Введите второе число:")
            c=a+b
            print ("Сумма рабна:" ,c)

        elif option == 2:
            r=input("Введите радиус:")
            perimetros=2*3.14*r
            embado=3.14*(r**2)
            print ("Периметр равен :",perimetros)
            print ("Площадь равна:",embado)

        else:
            print ("Нет такой функции" )
        return 0

if __name__ == '__main__':
   main()

7 комментариев:

  1. > print ('цикл выполнился '+str(a)+' раз')
    как-то не pythonic

    обычно так пишут:

    print 'цикл выполнился %s раз' % a

    ОтветитьУдалить
  2. Спасибо за комментарий. Учту.

    Но я только начал изучать Python, мне показалось, что оператор print() в том формате как я пишу более понятен для начинающих.

    Формат оператора, который предлагаете вы, я буду использовать позже, после того, как раскрою тему форматирования.

    ОтветитьУдалить
  3. мне кажется что надо так
    option = int(input("Введите номер функции:"))

    я просто с вашим примером промучался минут 20 пока не нашёл это.

    питон изучаю. первый день.

    ОтветитьУдалить
  4. А как же альтернативная ветка?
    while:

    else:

    ОтветитьУдалить
  5. Что-то сделал с тэгами, простите. Так:
    while:
    (тело)
    else:
    (альтернатива)

    ОтветитьУдалить
  6. Почему-то не работает ваш код...

    ОтветитьУдалить
  7. А, всё понятно, он для 3 версии....

    ОтветитьУдалить