Когда изучите строковый тип данных и срезы, можно будет сделать и так:
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("Цифры в числе разные")
0 votes Thanks 0
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
Ну, и дальше идёт сравнение, думаю, понятно
Answers & Comments
Задание 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("Цифры в числе разные")
While - это цикл ПОКА, т.е. пока какое-то условие является истиной, цикл продолжается
while num_help: данное условие записано в упрощённом виде, на самом деле его читают, как while num_help > 0
div, num_help - обычные переменные
num - переменная в которую мы с консоли вводим число
div - переменная которая будет отвечать за целую часть от деления числа, дальше будет понятно зачем, ну, а пока присваиваем переменной значение введённого числа num
mod - переменная которая будет отвечать за остаток от деления числа, дальше будет понятно зачем, присваиваем переменной 0, чтобы объявить о её существовании
count - переменная-счётчик, присваиваем 0
num_len - переменная отвечающая за длину числа, присвоим 0
Пока num_help > 0 мы что-то делаем, а именно:
num_help //= 10, иначе записывается num_help = num_help // 10
И после num_len += 1, иначе num_len = num_len + 1
Данный цикл создан для определения длины введённого числа
Данный цикл создан для определения одинаковых цифр в числе
В переменную mod мы вкладываем остаток от деления div
В переменную div мы вкладываем целое значение от div / 10
И после ставится условие схожести последней цифры числа и текущей в цикле