named divisors/Divisors that takes an integer n > 1 and returns an array with all of the integer's divisors(except for 1 and the number itself), from smallest to largest. If the number is prime return the string '(integer) is prime' (null in C#) (use Either String a in Haskell and Result<Vec<u32>, String> in Rust).
                  
                  
                  
                  
                  
                  Example:
                  
                  
                  divisors(12); #should return [2,3,4,6]
                  
                  
                  divisors(25); #should return [5]
                  
                  
                  divisors(13); #should return "13 is prime"
                  
                  
                  
                  
                  
                  Я написал код
                  
                  
                  integer = int(input('Введите число: '))
                  
                  
                  
                  
                  
                  def divisors(integer):
                  
                  
                      while integer > 1:
                  
                  
                          if integer % range(2, integer) == 0:
                  
                  
                              return integer
                  
                  
                          else:
                  
                  
                              return f'{integer} - is prime'
                  
                  
                  
                  
                  
                  divisors(integer)
                  
                  
                  
                  
                  
                  Но неправильно срабатывает строка if integer % range(2, integer) == 0:
                  
                  
                  Как мне написать правильно так, чтобы соблюдалось правило "если остаток от деления числа на диапазон чисел от 1 до integer (не включая границы) было равно 0, то возвращай эти числа"??
                  
                  
                
Что, по твоему представлению, будет являться результатом операции 4 % range(2, 4)
должно быть 2
В % нельзя передавать объекты типа range, а только числа
[4 % 2, 4 % 3] или ошибка из-за разных размеров итераблов
'%s' % 'd'
Ладно
Обсуждают сегодня