Как узнать, находится ли конкретная цифра в середине целого числа? - PullRequest
0 голосов
/ 07 ноября 2019

Вопрос на домашнюю работу - попросить меня написать программу, которая бы выводила True, если целое число нечетное и в его середине стоит число «0». Я выяснил, как заставить его печатать True, если число нечетное, но не могу понять, как определить, находится ли число 0. Посередине.

Я выяснил первое условие, которое будетобнаружение, если это странно.

input:
  def is_cyclops(n):
    if len(str (n)) % 2 != 0:
      return True
    return False
  print (is_cyclops(11011))
output:
True

Я хочу знать, как получить код для определения числа 0 в середине.

Ответы [ 2 ]

3 голосов
/ 07 ноября 2019

Я предоставлю ответ в виде алгоритма:

  • Преобразовать число в строку
  • Определить, имеет ли строка четное или нечетное количество символов (потому что даже в пронумерованных строках нет одного «среднего» символа)
  • Посмотрите на средний символ, который является символом # (len (str) / 2) -0,5
  • Это ваш средний символ
0 голосов
/ 07 ноября 2019

Этот код будет работать для входа n.

n = str(n)
if(len(n)%2==0): #Checks if even
    if(n[len(n)/2]==0): #Checks for presence of 0
        return True
else:
    if(n[len(n+1)/2]==0): #Checks for presence of 0
        return True
...