оператор печати в цикле не печатает - PullRequest
0 голосов
/ 27 октября 2019

В настоящее время я изучаю python для удовольствия, поэтому я решаю задачи в этом списке . Так что это рассматриваемый код, который должен возвращать 523. В конце у меня есть оператор print, который должен печатать число, соответствующее всем критериям, основанным на функциях, которые определены первыми, но это не так. раньше он генерировал ошибки, связанные с оператором по модулю, в одной из функций, однако теперь это работает, и теперь ничего не делает, кроме как заканчивает работу с кодом 0. Я поиграл с отступами и пробелами, но пока ничего не получалось. пожалуйста, прости мой ужасный код и не стесняйтесь указывать на любые обнаруженные вами логические ошибки.

def primer(num):
    for j in range(num+1):
        if num > 1:
            for k in range(2, num):
                if num % k == 0:
                    pass
                else:
                    return True

def larger_than_99(nnum):
    if nnum < 100:
        return True
    else:
        return False

def no_1_or_7(numm):
    if 1 or 7 in str(numm):
        return False
    else:
        return True

def checksum_10(nnumm):
    sum = 0
    for i in range(nnumm):
        sum += int(i)
    if sum <= 10:
        return True
    else:
        return False

def first2odd(nuum):
    if (str(nuum)[0] + str(nuum)[1]) % 2 != 0:
        return True
    else:
        return False

def secondndlastdigiteven(nuumm):
    if str(nuumm)[len(str(nuumm)-2)] % 2 == 0:
        return True
    else:
        return False

def lastequaltoquersum(nuum):
    if len(str(nuum)) == str(nuum)[len-1]:
        return True
    else:
        return False


for k in range(1,1001):
    if larger_than_99(k) == True:
#       primer(k)
        if primer(k) == True:
#            no_1_or_7(i)
            if no_1_or_7(k) == True:
 #               checksum_10(i)
                if checksum_10(k) == True:
  #                  first2odd(i)
                    if first2odd(k) == True:
   #                     secondndlastdigiteven(i)
                        if secondndlastdigiteven(k) == True:
    #                        lastequaltoquersum(i)
                            if lastequaltoquersum(k) == True:
                                print k    #this isnt working

...