Предмет: Информатика, автор: klopvanuchka

Помогите пожалуйста решить задачи (обозначены красным цветом). Нужно использовать python, цикл while.

Приложения:

Ответы

Автор ответа: vanisherxxx
0

Задание 15

num = int(input("Введите число: "))

num_help = num

num_len = 0

first_el = num

last_el = num % 10

while num_help:  # Определяем длину числа

   num_help //= 10

   num_len += 1

count = 0

while count != num_len - 1:  # while num_help > 0:

   first_el //= 10  # first_el = first_el // 10

   count += 1

num //= 10  # Выявляем середину

num %= 10 ** (num_len - 2)  # Возводим в степень

print(str(last_el) + str(num) + str(first_el))

Когда изучите строковый тип данных и срезы, можно будет сделать и так:

num = input("Введите число: ")

print(num[-1] + num[1:-1] + num[0])

Задание 16

num = int(input("Введите число: "))

div = num

mod = 0

last_el = num % 10

count = 0

num_help = num

num_len = 0

while num_help:  # Определяем длину числа

   num_help //= 10

   num_len += 1

while div:

   mod = div % 10

   div //= 10

   if mod == last_el:

       count += 1

if count == num_len:

   print("Цифры в числе одинаковые")

else:

   print("Цифры в числе разные")

Аналогично 1-ому:

num = input("Введите число: ")

if num == num[::-1]:

   print("Цифры в числе одинаковые")

else:

   print("Цифры в числе разные")


klopvanuchka: Здравствуйте, подскажите пожалуйста насчёт строки while div, while num_help и т. д. Какое тут условие? Пока что? Не могу понять. Заранее спасибо.
vanisherxxx: Здравствуйте!
While - это цикл ПОКА, т.е. пока какое-то условие является истиной, цикл продолжается

while num_help: данное условие записано в упрощённом виде, на самом деле его читают, как while num_help > 0

div, num_help - обычные переменные
vanisherxxx: Расскажу полное описание 16 программы:

num - переменная в которую мы с консоли вводим число

div - переменная которая будет отвечать за целую часть от деления числа, дальше будет понятно зачем, ну, а пока присваиваем переменной значение введённого числа num
mod - переменная которая будет отвечать за остаток от деления числа, дальше будет понятно зачем, присваиваем переменной 0, чтобы объявить о её существовании
vanisherxxx: last_el - переменная для последней цифры числа, мы сразу может это узнать по остатку на 10: num % 10 И вправду, возьмите любое число, например 1234, поделите на 10 и вы увидите, что остаток - это 4
count - переменная-счётчик, присваиваем 0
vanisherxxx: num_help - переменная-помощник, чтобы не портить основное значение num, мы создаём новую переменную и присваиваем её значение num
num_len - переменная отвечающая за длину числа, присвоим 0
vanisherxxx: Далее создаётся цикл while num_help:
Пока num_help > 0 мы что-то делаем, а именно:
num_help //= 10, иначе записывается num_help = num_help // 10
И после num_len += 1, иначе num_len = num_len + 1
Данный цикл создан для определения длины введённого числа
vanisherxxx: Так вот, мы каждый раз num_help делим на 10 и берём только целую часть, то есть у нас с каждым разом число уменьшается на одну цифру 1234 // 10 -> 123 // 10 -> 12 // 10 -> 1 //10 -> 0 (Мы 4 раза делили, значит и цифр 4) И каждый раз когда число уменьшалось на 1 цифру в переменную num_len добавлялась единица
vanisherxxx: После второй цикл while div: (while div > 0:)
Данный цикл создан для определения одинаковых цифр в числе

В переменную mod мы вкладываем остаток от деления div
В переменную div мы вкладываем целое значение от div / 10
И после ставится условие схожести последней цифры числа и текущей в цикле
vanisherxxx: Ну, и дальше идёт сравнение, думаю, понятно
Похожие вопросы
Предмет: Русский язык, автор: 2004212
Предмет: Русский язык, автор: Сосиска911
Предмет: Английский язык, автор: TuXXXa