Ім'я файлу: Лаб раб 4 Цикл While.doc
Розширення: doc
Розмір: 52кб.
Дата: 08.12.2021
скачати

Лаб раб 4

Тема Цикл while


While - один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.

Пример

Результат работы программы

print('Складывать числа, вводимые с клавиатуры,')

print('пока не будет введен 0')

sum=0

a=int(input())

while a!=0:

sum+=a

a=int(input())

print('Сумма введенных чисел составляет',sum)

Складывать числа, вводимые с клавиатуры,

пока не будет введен 0

1

2

3

4

5

0

Сумма введенных чисел составляет 15

print('Вывести все четные числа')

print('и диапазоне a...N')

print('Введи нижнюю границу диапазона')

a=int(input())

print('Введи верхнюю границу диапазона')

n=int(input())

while n>a:

if a%2==0:

print(a,' ')

a+=1

Вывести все четные числа

и диапазоне a...N

Введи нижнюю границу диапазона

3

Введи верхнюю границу диапазона

11

4

6

8

10

i = 0

while i <= 10:

i = i + 1

if i > 7:

i = i + 2

print(i)

>>>

13

>>>


Оператор break — выход из цикла
Оператор continue — выход из текущей итерации цикла

Пример

Программа, которая считывает числа до тех пор, пока не встретит отрицательное число. При появлении отрицательного числа программа завершается. Если отрицательного числа не было, работа завершается вводом числа 0 (при считывании которого надо остановиться).

a = int(input())

while a != 0:

if a < 0:

print('Встретилось отрицательное число', a)

break

a = int(input())

else:

print('Ни одного отрицательного числа не встретилось'

вариант 2 - При появлении отрицательного числа программа останавливается в ожидании нового ввода:

a = int(input())

while a != 0:

if a < 0:

print('Встретилось отрицательное число', a)

b+=1

a = int(input())

continue

a = int(input())

else:

if b==1:

s=' отрицательное число '

elif 1
s=' отрицательных числа'

if b==0:

print('Ни одного отрицательного числа не встретилось')

else:

print('Ны ввели ',b,s)

Задачи для разработки программ

  1. Напечатать «столбиком» кубы всех целых чисел от 10 до b (значение b вводится с клавиатуры;1000> b >10).

  2. Напечатать таблицу соответствия между массой в фунтах и массой в килограммах для значений 1, 2, ..., 10 фунтов (1 фунт = 453 г) в виде столбца

  3. Напечатать таблицу умножения для числа, введенного с клавиатуры

  4. Напечатать все нечетные числа из интервала [10, 100].

  5. Напечатать все нечетные двузначные числа, у которых последняя цифра равна 3 или 7.

  6. Напечатать все целые числа от a до b, кратные некоторому числу c.

  7. Напечатать все двузначные числа, сумма квадратов цифр которых делится на 13.

  8. Найти сумму 12 + 22 + 32 + … + n2 при заданном значении n.

  9. Последовательно вводятся ненулевые числа. Определить сумму положительных и сумму отрицательных чисел. Закончить ввод чисел при вводе 0.

  10. Вводится два целых числа, найти их наибольший общий делитель.

Алгоритм:

  1. Ввести два целых числа a и b

  2. Организовать цикл, условие выхода из цикла - пока какое-нибудь из двух чисел не станет равным 0

  3. В теле цикла:

    1. сравнивать числа между собой. Если первое число больше второго, то найти остаток от деления его на второе число и присвоить его первой переменной (а)

Иначе (когда второе число больше первого) присвоить второй переменной (b) остаток от деления нацело второго числа на первое

  1. Повыходу из цикла выполнить: nod = a + b (т.к. по завершению цикла одна из переменных a и b будет = 0, а вторая – содержать nod.

  2. Поскольку значение 1 не является общим делителем, его надо исключить с помощью оператора If.

  1. Вывести на экран все чётные значения в диапазоне от 1 до 497;

  2. Посчитать сумму числового ряда от 0 до 14 включительно. Например, 0+1+2+3+…+14;

Если мы хотим предоставлять пользователям возможность отработать снова и снова без необходимости перезапуска программы, можно использовать цикла while:

na=input('Введи свое имя')

while na!='':

print('Вывести все четные числа')

print('в диапазоне А...N')

print('Введи нижнюю границу диапазона')

a=int(input())

print('Введи верхнюю границу диапазона')

n=int(input())

while n>a:

if a%2==0:

print(a,' ')

a+=1

na=input('Введи еще раз свое имя или нажми ENTER, чтобы выйти')

print('Спасибо за работу')
Интересная особенность Python: Множественное присваивание

В Питоне можно за одну инструкцию присваивания изменять значение сразу нескольких переменных.

Делается это так:

a,b=1,2

print(a,b)

a,b=b,a

print(a,b)
скачати

© Усі права захищені
написати до нас