首页 > 解决方案 > python3中的最大除数

问题描述

我的老师告诉我只用一个函数编写这段代码

it has to print the largest number of divisors between 20 numbers 
and if 2 number had same count of divisors print the largest one

我写了这个,但它不起作用。当我只在函数中使用 var 时出现错误,然后我修复了这个问题,我看到 devisors 是 0 。

帮助我我是python新手,我必须使用简单的方法..谢谢

这是我的代码

number = int(input('Enter your number: '))

def divisor(number):

    temp_1=0
    temp_2=0
    answer = 0

    for i in range(1, number+1):
        if number % i == 0:
            temp_1+=1
        if temp_1>=temp_2:
            if(number > answer):
                answer = number
            
    print(answer,temp_2)

for i in range(1,20):
    
    divisor(number)
    
    number = int(input('Enter your number: '))
print (divisor())

标签: python

解决方案


这是一种使用 python 编写的函数来查找所有除数的简单且对初学者友好的方法。

def divisors(number):

  n= 1 
  for n in range(n,number+1): 
      if (number % n == 0): 
          print(n) 
          n += 1 

如果您需要从字面上找到python中数字的最大除数,那么这也可能会有所帮助。

def divisor(number):

  n= 1
  MaximumDivisor = []
  for n in range(n,number+1):
      if (number % n == 0):
          MaximumDivisor.append(n)
          n += 1
  print(len(MaximumDivisor))  

推荐阅读