Demigodd
@Demigodd

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

Допустим есть у меня функция
def isPrime(n):
    '''Check if integer n is a prime'''
    n = abs(int(n))
    if n < 2:
        return False
    if n == 2: 
        return True    
    if not n & 1: 
        return False
    for x in range(3, n):
        if n % x == 0:
            return False
    return True

Который получает n число, и если это число простое то возвращает True или False если нет.

Вот пример кода Unittest.

import unittest

class PrimeUnityTest(unittest.TestCase):
    def test_Int(self):
        self.assertTrue(isPrime(5.8), 'N is not Integer!')
    def test_neg(self)
        self.assertTrue(isPrime(-2), 'N is Negative Number!')


Как Правильно проверить является ли тип числа N → Int а не Float, и проверить число на отрицательно, с помощью каких assert методов можно это сделать ?
  • Вопрос задан
  • 4620 просмотров
Решения вопроса 1
kentuck1213
@kentuck1213
if n > 0 and not n % 2
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
LaRN
@LaRN
Senior Developer
Извиняюсь за оффтоп, но можно ускорить проверку, если заменить
for x in range(3, n):
На
for x in range(3, round(sqrt(n))):
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы