Главная страница

Решение задач Аннотация. Урок посвящен циклу for


Скачать 3.04 Mb.
НазваниеРешение задач Аннотация. Урок посвящен циклу for
Дата28.06.2022
Размер3.04 Mb.
Формат файлаdocx
Имя файла5. Python.docx
ТипРешение
#618203
страница13 из 23
1   ...   9   10   11   12   13   14   15   16   ...   23

Тема: цикл while: обработка цифр числа


  1. Использование цикла while для обработки цифр числа;

  2. Решение задач.

Аннотация. Урок посвящен обработке цифр натурального числа, с помощью цикла while.

Обработка цифр числа


При изучении целых чисел (тип данных int), мы говорили про операцию целочисленного деления // и операцию нахождения остатка от деления одного целого числа на другое %. Используя цикл while и две данных операции, можно обработать цифры числа с произвольным количеством разрядов (цифр).

Пусть дано натуральное число n. Тогда:

  • результатом операции n % 10 – является последняя цифра числа;

  • результатом операции n // 10 – является число с удаленной последней цифрой.

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

n = int(input())

while n != 0: # пока в числе есть цифры

last_digit = n % 10 # получить последнюю цифру

# код обработки последней цифры

n = n // 10 # удалить последнюю цифру из числа

Цикл while работает до тех пор, пока в числе есть необработанные цифры. Тело цикла содержит:

  1. процедуру получения последней цифры last_digit = n % 10;

  2. код обработки последней цифры;

  3. процедуру удаления последней цифры из числа n = n // 10.

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

Напишем программу, которая определяет есть ли в числе цифра 7.

num = int(input())

has_seven = False # сигнальная метка

while num != 0:

last_digit = num % 10

if last_digit == 7:

has_seven = True

num = num // 10

if has_seven == True:

print('YES')

else:

print('NO')

ЗАДАЧИ


  1. Что покажет приведенный ниже фрагмент кода?

num = 12345

product = 1

while num != 0:

last_digit = num % 10

product = product * last_digit

num = num // 10

print(product)



  1. Что покажет приведенный ниже фрагмент кода?

num = 123456789

total = 0

while num != 0:

last_digit = num % 10

if last_digit > 4:

total += 1

num = num // 10

print(total)


  1. Обратный порядок 1


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

Формат входных данных 
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести цифры введенного числа в столбик в обратном порядке.
  1. 1   ...   9   10   11   12   13   14   15   16   ...   23


написать администратору сайта