我目前正在有趣地学习python,因此我正在this list上进行挑战。因此,这是有问题的代码,应返回523。我在末尾有一条打印语句,该语句应打印出满足所有基于首先定义的函数的所有条件的数字,但事实并非如此。它曾经在其中一个函数中引发与模运算符有关的错误,但是现在可以正常工作,除了用代码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