Тема: Задача для опанування підпрограм №2
Доброго дня!
Є задача для опанування підпрограм:
Написав наступний код:
import random
import math
n = int(input('Введіть кількість елементів послідовності '))
max = int(input('Введіть максимальне натуральне число послідовності '))
X = random.sample(range(1, max), n)
print(X)
def issqr(val):
    if int(val**0.5) == val**0.5:
        return True
    else:
        return False
def islog(val):
    if int(math.log(val,5)) == math.log(val,5):
        return True
    else:
        return False
def isprime(val):
    val = abs(int(val))
    if val < 2:
        return False
    if val == 2:
        return True
    if not val & 1:
        return False
    for x in range(3, int(val**0.5)+1, 2):
        if val % x == 0:
            return False
    return True
def check_value(i):
    if issqr(i):
        print(i,'є квадратом числа',int(i**0.5))
    if islog(i):
        print(i,'є ступенем числа 5: 5^',math.log(i,5))
    if isprime(i):
        print(i,'є простим числом')
for i in range(0,len(X)):
    check_value(X[i])Будь ласка, підкажіть як можна оптимізувати код, але залишити підпрограми.
