这是一个关于Leetcode compiler
在executing classes and methods
时如何工作的问题
因此,我要回答以下问题:https://leetcode.com/contest/weekly-contest-248/problems/count-good-numbers/(但这个问题并不重要)
我在下面有一些代码,在class Solution()
中有两个方法primeNumber(self, n)
和countGoodNumbers(self,n)
现在,对于input n=1
,编译器是否执行这两个方法(并在我返回第一个方法的值后退出),或者它是如何工作的?因为当我在Pycharm IDE
中编程时,通常在最后我会手动执行我想要的方法,例如我会执行x = Solution
然后print(x.countGoodNumbers(100)
或者,如果我定义这样的方法:primeNumber(self, n)
和countGoodNumbers(self,f)
,这样编译器就知道调用第一个函数,因为input is "n"
,那么我的理解正确吗
class Solution:
primes = []
def primeNumber(self,n):
numbers = set(range(n, 1, -1))
self.primes = []
while numbers:
p = numbers.pop()
self.primes.append(p)
numbers.difference_update(set(range(p * 2, n + 1, p)))
return self.primes
def countGoodNumbers(self,n: int):
counter = 0
for i in range(int("9" * n) + 1):
tracker = False
i = str(i)
while len(i) < n:
i = "0" + i
# checking odd and even digits
for j in range(int("9" * n) + 1):
if j == 0 or j % 2 == 0:
if int(i) % 2 == 0:
tracker = True
else:
tracker = False
break
else:
if int(i) in self.primes:
tracker = True
else:
tracker = False
break
if tracker == True:
counter += 1
else:
pass
return counter
目前没有回答
相关问题 更多 >
编程相关推荐