通过自学书,他们为您提供了一些代码,以查找特定数字在整数中的次数。他们是如何自动知道使用modulo 10的?这是你作为程序员在CompSci课程中学习的一个技巧吗?
def num_zero_and_five_digits(n):
count = 0
while n:
digit = n % 10 # This divides w/10 for remainder. How did they know to use 10?
if digit == 0 or digit == 5: #These can be changed to whatever digits you want.
count = count + 1
n = n / 10
return count
我了解代码,但并不拥有它。我的意思是,如果我被要求编写代码'我个人会发现某个数字在整数中的次数 做这样的事情:
integer = str(22342445)
looker = list(integer)
counter = 0
find = raw_input("What number are you looking for")
for num in looker:
if find == num:
print "We found it!"
counter += 1
print "There are %d, %s's in %s" % (counter, find,integer )
现在,我的主要问题是:
如果有人想要查找整数" 10"或更高?怎么样 我可以在第一个解决方案中考虑到这一点吗?
您会采取哪些步骤来提出第一个解决方案?你怎么会"知道"你需要做模10吗?
答案 0 :(得分:0)
练习本身的定义不正确。它不应该寻找特定的数字,而应该询问是否要寻找特定的数字。这限制了它,因为我们使用十进制(基数为10)数字(我的意思是我们使用数字的基数10表示),10种可能性之一。而且由于我们使用基数为10的数字,我们需要除以并取10的模数将数字分成数字,以便我们可以比较数字。如果我们讨论的是十六进制数,那么我们将使用16来分隔数字,对于八进制,我们将使用8等。