Как проверить число на двузначность питон
Перейти к содержимому

Как проверить число на двузначность питон

  • автор:

Ошибка сервера в приложении ‘/’.

Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.

Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации «web.config», который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут «mode» со значением «Off».

Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут «defaultRedirect» тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.

отличать двузначное число от однозначного в python строке [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 3 года назад .

надо написать цикл, который при проходе по этой строке ‘a3b4c2e10b1’ сможет отличить 10 от 1 и 0. я уже пробовал проходиться по индексам, но на последнем элементе, выдает ошибку, что цикл вне строки, потому что проверяет значение которого нет — то есть выход за строку.

Отслеживать
задан 24 июл 2020 в 13:31
1 2 2 серебряных знака 3 3 бронзовых знака
Чеееегоооо.
24 июл 2020 в 13:35

пример цикла можно? и задачу, которую он должен выполнить. А то ощущения, как и предыдущий комментарий

24 июл 2020 в 13:44
в задаче надо отличать буквы от цифр
24 июл 2020 в 13:45

for i in range(len(n)): if n[i] in ‘abcdefghijklmnopqrstuvwxyz’: c=n[i] else: if n[i+1] not in ‘abcdefghijklmnopqrstuvwxyz’: m=int(n[i]+(n[i+1])) else: m=int(n[i])

24 июл 2020 в 13:45
Отредактируйте вопрос, добавив туда код из комментария
24 июл 2020 в 14:10

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Используйте регулярные выражения — это проще всего

Вариант 1

>>> import re >>> res = re.findall(r"([a-zA-Z])*(\d*)", 'a3b4c2e10b1') >>> res [('a', '3'), ('b', '4'), ('c', '2'), ('e', '10'), ('b', '1'), (' ', ' ')] >>> letters, digits = [a[0] for a in res if a[0]], [a[1] for a in res if a[1]] >>> letters ['a', 'b', 'c', 'e', 'b'] >>> digits ['3', '4', '2', '10', '1'] 

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

Вариант 2

>>> a = "a3b4c2e10b1" >>> digits = list(filter(None, re.split("[a-zA-Z]+", a))) >>> letters = list(filter(None, re.split("\d+", a))) 

Условный оператор

Условный оператор или оператор ветвления — это оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения. Спасибо, Википедия! Такое определение можно найти в любой книге по программированию. Его крайне желательно хотя бы понимать.

Попробую дать более популярное определение: условный оператор выполняет некоторое действие, если указанное условие истинно (равно True).

Вот так выглядит if. else в Python

if True :
print ( ‘Условие истинно, поэтому я напечатаюсь’ )

Приведу пример поинтереснее:

a = 10
b = 5
if a > b:
print ( ‘a больше b равно True ‘ )

Если условие ложно, то код, находящийся под оператором if не выполнится:

a = 3
b = 9999999
if a > b:
print ( ‘Я никогда не напечатаюсь :(‘ )

Дополним предыдущий пример оператором else

a = 3
b = 9999999
if a > b:
print ( ‘Я никогда не напечатаюсь :(‘ )
else :
print ( ‘if не выполнился, так что печатаюсь я’ )

Если условие в if ложно, то выполнится оператор под оператором else

Приведу еще несколько примеров:

# Вывести большее из двух чисел,
# введенных с клавиатуры
a = int ( input ())
b = int ( input ())
if a > b:
print ( ‘Большее число a = ‘ + str (a))
else :
print ( ‘Большее число b = ‘ + str (b))

# Проверить число a на четность
a = int ( input ())
if a % 2 == 0 :
print ( ‘четное’ )
else :
print ( ‘нечетное’ )

Иногда двух вариантов недостаточно, для этого существует оператор elif, а для все остального есть.

age = int ( input ())
if age 10 :
print ( ‘Ваш возраст — это одна цифра :)’ )
el if age 15 :
print ( ‘Геометрия — это жестко (хочу обратно в началку)’ )
else :
print ( ‘В школе было круто’ )

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

a = int ( input ( ‘Введите число от одного до 1 до 100 ‘ ))
if a 10 :
print ( ‘Ваше число меньше 10 ‘ )
el if a 20 :
print ( ‘Ваше число меньше двадцатки’ )
el if a 30 :
print ( ’30 — это потолок’ )
el if a 40 :
print ( ‘Ваше число меньше 40 ‘ )
el if a 50 :
print ( ‘Много, но не больше полтинника’ )
el if a 60 :
print ( ‘Число меньше, чем шесть*десять’ )
el if a 70 :
print ( ‘Ваше число расположено в восьмом десятке’ )
el if a 80 :
print ( ‘Ваше число меньше 80’ )
el if a 90 :
print ( ‘Ваше число находится в 9 десятке’ )
el if a 100 :
print ( ‘Сотня больше вашего числа’ )
else :
print ( ‘Хитро, но меня не обманешь, число слишком большое’ )

Да, мне нечем было заняться, ну и что? Никогда не делайте так, как написано в примере выше. Если в вашем коде больше трех elif значит что-то не так и стоит придумать новый алгоритм. Давайте еще разок: много elif — плохо!

Примеры решения задач

Проверить является ли клетка шахматной доски белой

# Два числа выбираются случайным образом (координаты клетки шахматного поля, от 1 до 8)
# Вывести YES, если клетка белая, и NO, если клетка черная
from random import randint
x = randint (1 ,8 )
y = randint (1 ,8 )
print (x, y)
if (x + y) % 2 == 1 :
print ( ‘YES’ )
else :
print ( ‘NO’ )

Во втором случаем числа вводятся с клавиатуры

x = int ( input ( ‘Введите координату x: ‘ ))
y = int ( input ( ‘Введите координату y: ‘ ))
if (x + y) % 2 == 1 :
print ( ‘YES’ )
else :
print ( ‘NO’ )

Проверить может ли слон ходить с первой шахматной на вторую

# Четыре числа выбираются случайным образом (координаты клетки шахматного поля, от 1 до 8)
# Вывести YES, если ладья может сходить с первой клетки на вторую, и NO, если не может
# Напомню, что ладья ходит так:
# Л ——X
# |
# |
# |
# X
from random import randint
x1 = randint (1 , 8 )
x2 = randint (1 , 8 )
y1 = randint (1 , 8 )
y2 = randint (1 , 8 )
print (x1, y1)
print (x2, y2)
if x1 == x2 and y1 != y2 or x1 != x2 and y1 == y2:
print ( ‘YES’ )
else :
print ( ‘NO’ )

То же самое, но с помощью ввода с клавиатуры

x1 = int ( input ( ‘Введите координату x1: ‘ ))
x2 = int ( input ( ‘Введите координату y1: ‘ ))
y1 = int ( input ( ‘Введите координату x2: ‘ ))
y2 = int ( input ( ‘Введите координату y2: ‘ ))
if x1 == x2 and y1 != y2 or x1 != x2 and y1 == y2:
print ( ‘YES’ )
else :
print ( ‘NO’ )

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

1. Пользователь вводит два целых числа. Выведите меньшее из них.

2. Пользователь вводит свое имя и возраст. Если возраст пользователя больше 18, то вывести строку «Добрый вечер, name! Вы совершеннолетний, поздравляем!», иначе вывести строку «Привет, name! Приносим извинения, но вы не можете гулять после 22:00». Пример:

# name = ‘Ivan’
# age = 21
>>> Добрый вечер, Ivan! Вы совершеннолетний, поздравляем!

# name = ‘Max’
# age = 14
>>> Привет, Max! Приносим извинения, но вы не можете гулять после 22:00

3. Пользователь вводит три строки. Одна из них равна строке «Python», выведите номер этой строки.

4. Пользователь вводит три целых числа. Два из них равны друг другу. Выведите третье число, не равное остальным. Если среди введенных чисел не оказалось двух равных друг другу, выведите строку «Ошибка».

5. Пользователь вводит целое число. Проверьте является ли это число четырехзначным, если является, то выведите строку «Успешно», иначе «Неудача».

6. Пользователь вводит целое число — текущее время в часах. Если количество часов находится между 7 и 10, то программа должна вывести строку «Пора вставать!», иначе выведется строка «Ты проспал!». Если введенное число отрицательно или больше 23, то программа должна вывести строку «Ошибка».

7. Пользователь вводит текущее время в часах. Если количество часов находится в диапазоне от 0 до 7, то программа выводит строку «Ночь». Если часовая стрелка находится между 7 и 11, то выведется строка «Утро». От 12 до 17 выведется строка «День». Если текущее время находится между 17 и 23, то программа должна вывести строку «Вечер». В случае, когда введенное число отрицательно или превосходит 23, программа должна вывести строку «Ошибка».

8. Пользователь вводит строку — название времени года. Если введенная строка — это лето, то выведите строку «Тополинный пух, жара, июль», если зима, то «Снеговик, снежки и горка», если осень, то «Пора в школу!», если весна, то «Весенняя капель». В случае, если введенная строка не равна ни одному из предложенных вариантов, программа должна выводить строку «Ошибка».

9. Пользователь вводит целое число — номер месяца своего рождения. Выведите строку «Вы родились летом», если номер месяц совпадает с номером одного из летних месяцев. Если номер месяца совпал с номером одного из зимних месяцев, то нужно вывести «К холодам вам не привыкать». Для людей, которые празднуют свой день рождения осенью выведите «Я тоже люблю осенний листопад». Если весна ваше время года выведите строку «Подснежник». В случае, если введенное число меньше единицы или больше 12, выведите строку «Ошибка».

10. Пользователь вводит номер года своего рождения. Если этот год является високосным выведите «Вы случайно родились не 29 февраля?», иначе выведите «Ничего необычного».
Для справки, в високосном году 366 дней, а в обычном — 365. Номер високосного года, делится на 4, за исключением номеров тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

11. Пользователь вводит целое число. Выведите его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число», например, численным описанием числа 190 является строка «положительное четное число».

12. Дано целое число, лежащее в диапазоне от 1 до 999. Если число двузначное, выведите строку «Двузначное», если число содержит одну значащую цифру, то выведите строку «Цифра», если число является трехзначным выведите «Трехзначное». В случае, если введенное число меньше 0 или больше 999, выведите строку «Ошибка!».

13. Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку «Ошибка!».

14. Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ферзь попасть с первой клетки на вторую одним ходом. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку «Ошибка!».

15. Шахматный конь ходит буквой «Г» — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку «Ошибка!».

16. Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей. Дано a, b, c — стороны предполагаемого треугольника. Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

Проверка, является ли переменная целым числом

Баннер

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

value = "123"

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

Как проверить, является ли переменная целым числом

Python предоставляет встроенную функцию isinstance() , которая позволяет проверить, принадлежит ли объект к определенному классу или типу данных.

value = 123 print(isinstance(value, int))

В этом примере isinstance() вернет True , если значение является целым числом ( int ), и False в противном случае.

Проверка на целочисленность для чисел с плавающей точкой

Если работа ведется с числами с плавающей точкой ( float ), которые могут быть целыми, можно использовать метод is_integer() .

value = 123.0 print(value.is_integer())

В этом примере value.is_integer() вернет True , если число с плавающей точкой является целым числом, и False в противном случае.

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *