Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/418: Рейтинг темы: голосов - 418, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 16
1

Проверка на целое число

07.04.2017, 19:04. Показов 77182. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие задачи:
Необходимо написать ф-цию is_int, которая будет проверять: является ли число целым. При этом должны учитываться числа вроде 7.00000, которые также являются целыми.

Буду признателен за советы в оптимизации кода или идеи по другим способам решения.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def is_int(x):
    temp = str(x) # конвертируем в str для проверок
    
    i = 0 #счетчик
    while i < len(temp):
        if temp[i] == '.': # проверяем является ли целым / узнаем индекс нуля
          
            while i + 1 < len(temp): # пробегаемся по индексам после "."
                if temp[i + 1] != '0': # если после "." не ноль - не Int
                    return False
                i += 1
            else:
                return True
        i += 1
    else:
        return True # если "." нет - следовательно Int
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2017, 19:04
Ответы с готовыми решениями:

Если целое число m делится нацело на целое число n, то вывести на экран частное от деления
Запросите у пользователя два целых числа m и n. Если целое число m делится нацело на целое число...

Если целое число m делится нацело на целое число n, то вывести на экран частное от деления
Запросите у пользователя два целых числа m и n. Если целое число m делится нацело на целое число n,...

Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + + AN. Дано вещественное число A и целое числ
Дано вещественное число A и целое число N (&gt; 0). Вывести 1 + A + A2 + A3 + + AN. Дано...

Дано вещественное число A и целое число N. Вычислить заданную сумму:
лллл Вычислить сумму: 1+A+A2+A3+...+An

8
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
07.04.2017, 19:26 2
Python
1
2
3
4
5
6
def is_int(n):
    return int(n) == float(n)
 
print(is_int(1))    # true
print(is_int(1.0))  # true
print(is_int(1.2))  # false
1
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 16
07.04.2017, 19:41  [ТС] 3
Можно вкратце принцип работы?
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
07.04.2017, 19:45 4
можно еще вариант, где проверка на исключения

Python
1
2
3
4
5
6
7
def is_int(n):
    try:
        return int(n) == float(n)
    except ValueError:
        return -1
 
print(is_int('a'))  # -1
принцип работы -

приходит в функцию 1.0
int(1.0) = 1
float(1.0) = 1.0
1 == 1.0

приходит 1.1
int(1.1) = 1
float(1.1) = 1.1
1 != 1.1
0
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 16
07.04.2017, 19:49  [ТС] 5
Очень круто. Спасибо
У меня кстати код сносный, или может есть типичные ошибки новичка?
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
10.04.2017, 12:34 6
Python
1
2
def is_int(n):
 return n%1 == 0
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
10.04.2017, 16:21 7
Цитата Сообщение от mamedovvms Посмотреть сообщение
def is_int(n):
* return n%1 == 0
Python
1
2
def is_int(n):
    return not(n%1)
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
10.04.2017, 17:35 8
Цитата Сообщение от Jabbson Посмотреть сообщение
not(n%1)
да можно и без скобок)))))
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
10.04.2017, 17:46 9
Цитата Сообщение от mamedovvms Посмотреть сообщение
да можно и без скобок)))))
кстати, да)
0
10.04.2017, 17:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2017, 17:46
Помогаю со студенческими работами здесь

Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму
Дано вещественное число A и целое число N (&gt; 0). Используя один цикл, найти сумму 1 + A + A^2+...

Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения
Дано вещественное число A и целое число N (&gt; 0). Используя один цикл, найти значение выражения 1...

Дано вещественное число Х и целое число N (> 0). Найти значение 1 - X2/2 + X4/4 - + (-1)NX2N/(2N)
Дано вещественное число Х и целое число N (&gt; 0). Найти значение 1 - X2/2 + X4/4 - + (-1)NX2N/(2N).

проверка на целое число
Можно ли сделать проверку на ввод целого числа, если его тип сразу задается, как int? Просто это...

Проверка на целое число
Приветствую, я никак не могу исправить ошибку в проверке на целое число в StringGrid. Код и скрин...

Проверка целое ли число
В интернете много вариантов как это сделать но я того что мне надо так и не нашёл. Короче, надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru