Питон задача симметричное число

Определить, является ли десятичная запись числа симметричной

Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите 2. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева незначащими нулями.

При решении этой задачи нельзя пользоваться условной инструкцией if и циклами

Вводится четырехзначное число.

Вывод:
1
Пример 2
Ввод:
2008

Определить, является ли десятичная запись числа симметричной
Здравствуйте! Я не понимаю, почему мог код неверен. Я знаю правильный ответ, однако меня.

Дано четырехзначное число. Определите, является ли его десятичная запись симметричной
Есть новая задача куда по круче этой. Вот условие Симметричное число Дано четырехзначное число.

Функция: проверить, является ли десятичная запись цифр числа палиндромом
Дано натуральное число n. Реализовать булевскую рекурсивную функцию, возвращающую истину, если.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include using namespace std; int main() { int n; cin >> n; int p1, p2; p1 = n / 100; p2 = n % 100; p2 = p2 % 10 * 10 + p2 / 10; cout  (p2 - p1) + 1  endl; return 0; }
a = int(input()) print((a % 10) * 10 + ((a // 10) % 10) - a // 100 + 1)

Эксперт Python

a = int(input()) print(min(abs((a%10)*10 + (a//10)%10 - a//100), 1) + 1)

Эксперт PythonЭксперт Java

ЦитатаСообщение от Anacoder Посмотреть сообщение

n = int(input()) print(1 if n // 100 == (n % 10 * 10 + n % 100 // 10) else 2)

Эксперт Python

Эксперт PythonЭксперт Java

Определить, встречается ли в десятичной записи числа n десятичная запись числа m
Даны натуральные числа n (n>100) и m (10<m<99). Определить, встречается ли в десятичной записи.

Дана десятичная запись натурального числа N. Определить количество нечетных цифр числа N
Дана десятичная запись натурального числа N. Определить количество нечетных цифр числа N. Что.

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

Дана десятичная запись натурального числа N. Найти сумму всех четных цифр числа N
Дана десятичная запись натурального числа N. Найти сумму всех четных цифр числа N.

Источник

Симметричное число

В условии одной из задач на этом сайте написано: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки задачи используются заранее подготовленные примеры и правильные ответ на них

Школьнику кажется, что он решил эту задачу, но тестирующая система почему-то не принимает его решение. Школьник думает, что это происходит оттого, что он выводит не то любое другое число, которое записано в правильных ответах.

Напишите программу, которая по ответу, записанному в тестирующей системе и по ответу школьника определяет, верно ли школьник решил задачу.

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

Выходные данные
Программа должна вывести YES, если школьник дал верный ответ и NO в противном случае.

Симметричное число
Дано целое положительное четырехзначное число. Определите, является ли оно симметричным. Число.

Во введенном тексте найти самое длинное симметричное слово
Во введенном тексте найти самое длинное симметричное слово.

Симметричное число
Помогите пожалуйста! 1. Проверить является ли данное число симметричным (Одинаково пишется слева.

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

симметричное число
пытаюсь определить, является ли 4-х значное число палиндромом. что я здесь не так делаю? .

Источник

Ctrl+Enter

Ошибка или опечатка? Выдели её, нажми Ctrl+Enter и коротко опиши, что не так. Это сделает наши материалы лучше!

Опасный поворот

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

Когда этот знак появляется в начале раздела, это предупреждает читателя об «опасном повороте». Не читайте этот блок без необходимости. Для большинства приложений такие детали не имеют значения.

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

Пишем простейшие программы

В предыдущем задании мы использовали Питон для простых разовых вычислений, используя интерактивный режим. Например, было задание вычислить длину гипотенузы прямоугольного треугольника по ее катетам. «Программа» эта выглядела так:

Неплохо для калькулятора, но совсем не универсально: если нужна другая гипотенуза, то нужно брать всё выражение и исправлять в нём отдельные числа. Эту программу можно написать по-другому:

Здесь мы используем переменные — бирки, которые можно повесить на различные (числовые, строковые и прочие) значения в памяти интерпретатора. В первой строке переменной a присваивается значение 179, затем переменной b присваивается значение 971, затем переменной c присваивается значение выражения, равному длине гипотенузы. И наконец в последней строчке мы выводим при помощи функции print получившееся значение.

Программа, которая получилась, длиннее и сложнее, чем та первая, из «калькулятора». Зачем эти сложности? Плюс в том, что значения a и b в такой программе можно брать и не из её кода, а например из того, что пользователь ввёл на клавиатуре. Получится удобный гипотенузный вычислятор: ты ему два числа, а он в ответ гипотенузу.

Переменные в питоне

В питоне же всё, с чем можно работать — это объекты в памяти интерпретатора. А переменные — это бирки, которые к этим объектам привязаны.

Некоторые объекты уже созданы заранее (например, объекты-целые числа от -5 до 255). Другие объекты создаются во время исполнения программы. После того, как объект создан, он живёт независимо от конкретных переменных, на него ссылающихся. Если на объект не ссылается ни одна переменная, то он со временем удаляется из памяти.

Проверка того, ссылаются ли две переменных на один и тот же объект, выполняется при помощи команды is .

Вот несколько примеров объектов и проверок на их совпадение.

>>> a = 123 >>> b = 123 >>> a is b True >>> b = 2 >>> a is b False >>> a = 321 >>> b = 320 + 1 >>> a is b False >>> a == b True

Вполне может быть, что будут существовать два объекта типа число с одним и тем же значением. Так всегда происходит, когда проверить, не создавал ли кто-нибудь ранее точно такой же объект, сложнее, чем создать заново новый. Поэтому нельзя сравнивать переменные при помощи is .

A: Гипотенуза

Даны два числа a и b. Выведите гипотенузу треугольника с заданными катетами.

В этой задаче необходимо прочитать два числа при помощи int(input()) . Вычислить гипотенузу. И вывести получившееся число при помощи функции print .

Источник

Решение задачи на Python

Вроде бы все должно работать, но система не пропускает.

Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева нулями. Десятичная запись числа симметрична, если при прочтении слева направо и справа налево получается одно и то же число.

При решении задачи можно пользоваться только целочисленными арифметическими операциями. Нельзя пользоваться нелинейными конструкциями: ветвлениями, циклами, функциями.

H = int(input()) f1 = (H // 1000) # первое число в четырехзначном f12 = (H % 10) # последнее число в четырехзначном s1 = (H - (f1 * 1000)) // 100 # второе слева число w1 = (H - (f1 * 1000) - (s1 * 100)) // 10 # третье число слева q = (f12 * 1000) + (w1 * 100) + (s1 * 10) + f1 # обираем с конца print(H // q) 

Помогите решить. Где моя ошибка?

Ответы (4 шт):

Можно сравнить строку, представляющую число, с такой же перевернутой, не переводя в int:

num_str = input().zfill(4) if num_str == num_str[::-1]: print(1) else: print(42) 

Если использовать .zfill() не разрешено, можно дополнить до четырех знаков самописным куском, например:

H = int(input()) print(H // 1000 == H % 10 and H // 100 % 10 == H % 100 // 10) 

Правда, выводит True/False — но ведь это же не проблема?

В комментариях расписано, как и что считается.

V = int(input()) Axxx = V // 1000 # цифра на позиции тысяч xBxx = V % 1000 // 100 # цифра на позиции сотен xxBA = xBxx * 10 + Axxx # зеркальное двузначное число из цифр сотен и тысяч xxCD = V % 100 # младшая (правая) половина числа symmetry = xxBA - xxCD # если 0 - то исходное число симметрично print(symmetry + 1) # выведет 1 если symmetry = 0, иначе будет другое число 
H = input() print(int(H[0]) - int(H[3]) + 16*(int(H[1]) - int(H[2])) + 1) 

Источник

Симметричное число

Дано целое положительное четырехзначное число. Определите, является ли оно симметричным. Число считается симметричным, если оно читается одинаково слева направо и справа налево. Вывести «Да», если число симметричное и «Нет» в противоположном случае. Пример симметричного числа: 2442

Во введенном тексте найти самое длинное симметричное слово
Во введенном тексте найти самое длинное симметричное слово.

Симметричное число
Совсем не пойму условия задачи, помогите, пожалуйста В условии одной из задач на этом сайте.

Симметричное число
Помогите пожалуйста! 1. Проверить является ли данное число симметричным (Одинаково пишется слева.

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

print(('Нет', 'Да')[str(n := input()) == str(n)[::-1]])
num = int(input()) arr = [] while num: arr.append(num % 10) num //= 10 print(('Нет', 'Да')[arr == arr[::-1]])

Эксперт функциональных языков программированияЭксперт Python

Mikail7D6, это чисто арифметическая задача. Списки и строки применять здесь излишне!

def isPal(n): sn=n rn=0 while n>0: rn=rn*10+n%10 n=n//10 return sn==rn print("Да" if isPal(int(input("n="))) else "Нет")

ЦитатаСообщение от Catstail Посмотреть сообщение

Вирусоборец

ЦитатаСообщение от tigertv_ru Посмотреть сообщение

Вирусоборец

ЦитатаСообщение от tigertv_ru Посмотреть сообщение

а смысл в том что данные могут приходить из функции и именно числом. вам же сказано что дано число а откуда оно дано не сказано но именно число а не строка поэтому

ЦитатаСообщение от thyrex Посмотреть сообщение

очень хороший совет. это Catstail, получает данные с клавиатуры и поэтому переводит в тип int но при этом решение работает именно с числом а не строкой.

ЦитатаСообщение от Semen-Semenich Посмотреть сообщение

def isPal(n): rn = 0 nn = n while nn > 0: nn, rmd = divmod(nn, 10) rn = rn * 10 + rmd return rn == n n = int(input("n=")) print("Да" if isPal(n) else "Нет")
def palindrome(number): revert_number = 0 copy_number = number while copy_number > 0: digit = copy_number % 10 revert_number = revert_number*10+digit copy_number = copy_number // 10 return number == revert_number

Эксперт функциональных языков программированияЭксперт Python

tigertv_ru, без конвертации можно ввести что угодно. Но даже не это главное. В условии сказано «дано. число», а не строка. Правильное решение этой задачи предполагает создание функции, которая принимает на вход число, а возвращает Truе/False.

Добавлено через 36 секунд
Whitecolor, от моего решения Ваше отличается именами переменных.

def is_pal(x): s = str(x) return s == s[::-1] print(is_pal(1221)) print(is_pal('1221'))

Эксперт функциональных языков программированияЭксперт Python

ЦитатаСообщение от Parramon Посмотреть сообщение

— это тоже не сильно хорошо. Алгоритмически оно хуже (хотя записывается короче). str(x) «за кадром» выполняет многократное деление с остатком. Далее s[::-1] — это еще один цикл + дополнительная память. А s == s[::-1] — это снова цикл.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
import timeit def is_pal(x): s = str(x) return s == s[::-1] def is_pal2(x): s = f'' rev_s = s[::-1] return s == rev_s def isPal(n): sn=n rn=0 while n>0: rn=rn*10+n%10 n=n//10 return sn==rn print(timeit.timeit('is_pal("12345678900987654321")', number=1000000, setup="from __main__ import is_pal")) print(timeit.timeit('is_pal(12345678900987654321)', number=1000000, setup="from __main__ import is_pal")) print(timeit.timeit('is_pal2("12345678900987654321")', number=1000000, setup="from __main__ import is_pal2")) print(timeit.timeit('is_pal2(12345678900987654321)', number=1000000, setup="from __main__ import is_pal2")) print(timeit.timeit('isPal(12345678900987654321)', number=1000000, setup="from __main__ import isPal"))
0.10617850000000001 0.1061127 0.10494560000000003 0.106435 0.8734765
def palindrome(number): return sum(map(int, list(number[:]))) == sum(map(int, list(number[::-1]))) print('Да' if palindrome(input()) else 'Нет')

Эксперт функциональных языков программированияЭксперт Python

Parramon, и что? Я Вам — про алгоритмическую сложность. А реальная скорость зависит еще и от реализации. Встроенные функции Питона реализованы скорее всего на C, поэтому работают быстро.

Источник

Читайте также:  Tensorflow python для чайников
Оцените статью