2016-09-11 3 views
2

У меня есть это:Процесс закончил с кодом выхода 0

import math 
class Point: 
    def move(self, x, y): 
     self.x = x 
     self.y = y 
def reset(self): 
    self.move(0, 0) 
def calculate_distance(self, other_point): 
    return math.sqrt(
(self.x - other_point.x)**2 +(self.y - other_point.y)**2) 
# how to use it: 
    point1 = Point() 
    point2 = Point() 
    point1.reset() 
    point2.move(5,0) 
    print(point2.calculate_distance(point1)) 
    assert (point2.calculate_distance(point1) == point1.calculate_distance(point2)) 
    point1.move(3,4) 
    print(point1.calculate_distance(point2)) 
    print(point1.calculate_distance(point1)) 

Поэтому я ожидаю, что он печатает так:

5.0 
4.472135955 
0.0 

Но в PyCharm в консоли это только печатает это:

Process finished with exit code 0 

Где вы можете видеть выход?

Я также добавляю вложение для четкости.

Спасибо

enter image description here

+2

Мне кажется, что, учитывая отступ от последних 9 строк кода, ни один из кодов не выполняется. Программа заканчивается без выполнения какого-либо кода. Исправьте отступ, и он должен, по крайней мере, выполнить правильно. Как и сейчас, последние 9 строк кода принадлежат функции 'calculate_distance'. – Xetnus

ответ

2

Проблема в том, что reset и calculate_distance функций нет в классе Point из-за отсутствия отступа.

Попробуйте это. Теперь функции являются методами класса Point, и все работает нормально:

import math 

class Point: 

    def move(self, x, y): 
     self.x = x 
     self.y = y 

    def reset(self): 
     self.move(0, 0) 

    def calculate_distance(self, other_point): 
     return math.sqrt((self.x - other_point.x)**2 +(self.y - other_point.y)**2) 


# how to use it: 
point1 = Point() 
point2 = Point() 
point1.reset() 
point2.move(5,0) 
print(point2.calculate_distance(point1)) 
assert (point2.calculate_distance(point1) == point1.calculate_distance(point2)) 
point1.move(3,4) 
print(point1.calculate_distance(point2)) 
print(point1.calculate_distance(point1)) 
+0

спасибо !! very nice – SavantCode

+1

Попробуйте объяснить ошибку, чтобы OP мог учиться на ней. – usr2564301

+0

да, можете ли вы объяснить, в чем проблема? @ toffi9 – SuPotter

-2

Существует окно называется "Питон консоли". Результат вашего скрипта должен быть там ...

+0

спасибо. Но добавленное изображение показывает консоль? Какая еще консоль есть? – SavantCode

+0

У меня здесь нет pyCharm, но может помочь онлайн-помощь: https://www.jetbrains.com/help/pycharm/2016.2/pycharm-tool-windows.html Как вы можете видеть на скриншотах нижний строка содержит входную консоль python. –

Смежные вопросы