Я только начал пытаться изучать код через лекции в формате youtube и MIT, которые у них есть в Интернете. Я использую compileonline.com на компьютере, в котором я кодирую, пока учитель использует реальную программу Python. (Та же версия) У меня есть весь код такой же, как он делаетОчень просто. Компилятор, возвращающий «Нет», когда я предполагаю, что это не должно быть
def sqrt(x):
ans = 0
if x >= 0:
while ans*ans < x: ans = ans + 1
if ans*ans != x:
print x, 'is not a perfect square.'
return None
else: return ans
else:
print x, 'is a negative number.'
return None
Теперь, когда я добавить операторы для кода, чтобы проверить его
печати SQRT (16) - затем компилировать и я получаю " 4 «Ничего другого. then print sqrt (34) - скомпилируйте, и я получаю «34 не идеальный квадрат», а затем «None» на следующей строке. В видеоролике парень делает свое тестирование, я думаю, на другом экране, чем где написано его код, и он может просто набрать «sqrt (16)» вместо «print sqrt (16)», когда он это делает, он получает 4, как я , Но когда он набирает «sqrt (34)», он получает «34 не идеальное число», и это не «Нет» под ним. Это также случается для меня, когда я тестирую отрицательное число.
Мой вопрос Я думаю, почему я получаю «Нет», когда использую отрицательное число или число, которое не является идеальным квадратом?
Приносим извинения, что это, вероятно, ужасно глупый вопрос, но я просто пытаюсь получить именно то, что он получает, чтобы убедиться, что я делаю это правильно и не пропущу что-то, что потенциально может быть важно. Я также задаюсь вопросом, связано ли это с тем, что я использую веб-сайт, и он использует фактическую программу?
Экран/окно/коробка (независимо от его называют, его не там, где код написан), профессор использует внешний вид как этот
>>>sqrt(16)
4 (his answer)
>>>sqrt(34)
34 is not a perfect number. (his answer)
(This is where I get "None")
Опять же, мои извинения за это время слишком драматично и невероятно просто. Просто не пытайтесь пропустить что-то и сделать все, чтобы получить точные ответы, которые получает профессор.
'else' без двоеточия выглядит странно. – Hyperboreus
Возможно, вы должны установить фактический интерпретатор python. –
Как я только что сказал. Это код, который я вручную напечатал на экране на этом компьютере. Потому что я использую сайт compileonline.com (который загружает python 2.7.4) на другом компьютере, поэтому я могу смотреть видео и делать то, что он делает в одно и то же время. Отступы и все правильно на компьютере, где я кодирую. Как я уже говорил выше, я получаю ответы, программа работает, мне просто интересно, почему я получаю «ни одного», а профессор этого не делает. – user3276549