파이썬 디버깅이란 - paisseon dibeoging-ilan

파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan

Next: �Լ� �����ϱ� Up: �Ϲ����� ���� ���̽� ��ħ�� Previous: �� ��   �� ��

�Ϻ� ���

  • ������̶� �����ΰ�?
  • ���α׷��� ������ �ؾ� �ϴ°�?
  • ���α׷��� ������ �ϴ°�?
  • ��� ���α׷��� ��ġ�°�?

�����

������̶� �����ΰ�?

���α׷��� �������� ����, �츮�� ����Ե� �츮�� �����ߴ������ ���α׷��� ������ ���� ���� �ʴٴ� ���� ���ݴ´�. ������� Ž���Ǿ����߸� �ϴ� ���̴�. ���� �ٷ� �� ���� �����ϰ� ����Ѵ�. ���� ���ݴ� �� �������� ���� ���� �λ��� ��κ��� ���� ���α׷����� �Ǽ��� ã�� ���µ��� ����ϰ� �־���.
- Maurice Wilkes discovers debugging, 1949

���ݱ��� �������� ���α׷��� ������ �̸����� ��ٺ��� ���α׷��� ������ �������� ������ �ʾҴ� �ൿ�� �Ѵٴ� ���� �Ƹ��� �������� �߰� �� ���̴�. �̰��� ����� ���� ���̴�. ������� ��ǻ�Ͱ� ������ �ϴ��� �˾Ƴ��� ó�������̸� �׸��� �������� ���ϴ´�� ���α׷��� ����ǵ��� �ϴ� �����̴�. �̰��� ������ϼ��� �ִ�. �Ѷ� ���� ���� �������̳� �Һ��ؼ� ���׸� �����ϰ� ��ģ���� �־��µ� � ����� y�� �־���� �ڸ��� x�� �־� ���Ƽ� �߻��� ���̾���.

�� ���� �� �庸�ٵ� ���� �߻����� �� ���̴�. �����ϴٸ� �����ּ���

���α׷��� ������ �ؾ� �ϴ°�?

���� ���� �ؾ��� ����(�̰��� �翬�ϰ� ���δ�) ���α׷��� ��Ȯ�� �������� ���� �� �� ���α׷��� ������ �ؾ��ϴ����� �߻��� ���� ���̴�. �ణ�� �׽�Ʈ�� ��Ȳ���� ������ ���� �������� �Ͼ���� ���캸��. ���� ��� ���� �簢���� ����( ��� ���� ������ ��)�� ����ϴ� ���α׷��� �ִٰ� ����. ���� ������ ���� �׽�Ʈ ��Ȳ�� ������ :

width height perimeter
3 4 14
2 3 10
4 4 16
2 2 8
5 1 12

���� ���� ���α׷��� ��� ���̽��� ���Ͽ� ������Ѽ� �� ���α׷��� ���� �����ѹٸ� �״�� �����ϰ� �ִ��� ���캻��. ���� �׷��� ���ϴٸ� ���� ��ǻ�Ͱ� ������ �ϰ� �ִ��� �� �ʿ䰡 �ִ�.

���� �������̽����� �� �۵������� � �͵��� �׷��� �ʴ�. ���� �׷��ٸ� �������� �� �۵��ϴ� ���α׷����� �������� �������� �˵��� ����ؾ� �Ѵ�. ���� ��� ���⿡ ���� ���̸� ����ϴ� ���α׷��� �ִ�.(����Ŀ� ���� �ɰ̴ϴ�.):

Height: 3
Width: 4
perimeter =  15
Height: 2
Width: 3
perimeter =  11
Height: 4
Width: 4
perimeter =  16
Height: 2
Width: 2
perimeter =  8
Height: 5
Width: 1
perimeter =  8

ù���� �� ���� �Է¿� ���Ͽ��� �۵����� �ʾ����� �ָ��϶�, ������ �ΰ����� �� �۵��ϰ� ������ �Ѱ����� �۵����� �ʾҴ�. ������ �������� �������� �˱⸸ �Ѵٸ� ������ ã�Ƴ��� ���� ���� ����. �������� ���α׷��� ������ �ʿ��ϴٸ� �� ���� �������̽����� �������� �õ��� ���ƾ߸� �Ѵ�.

�� ���α׷��� ������ �ϴ°�?

�������� �ؾ��� ���� �ҽ��ڵ带 ���캸�� ���̴�. ���α׷����� �ϸ鼭 �ؾ��� ���� �߿��� ���� �ҽ��� �д� ���̴�. �ҽ��� �д� ���� ���� ����� �ڵ带 �f��� ���̴�.

�ڵ� �f���� ù ��° �ٿ��� �����ؼ�, ���α׷��� ���� ������ �Ʒ��� ����ȴ�. While ������ if �������� ���ϴ� �ٴ� � ���ε��� ������� ���� ���̰� � ���ε��� ������ ����� ���̶�� ���� ���Ѵ�. �� ���ο��� �������� ���̽��� ������ �Ͽ������� �����Ѵ�.

���� ���̸� ����ϴ� �� �ܼ��� ���α׷����� ������ ����. Ÿ������ ���� ���ð� �б⸸ �϶�. �������� ����. �ҽ� �ڵ�� �̷��� :

height = input("Height: ")
width = input("Width: ")
print "perimeter = ",width+height+width+width

Question: ���̽��� ó������ �����ϴ� ������ �����ΰ�?
Answer: ù ��° ������ �׻� ���� ����ȴ�. �̰�쿡�� : height = input("Height: ") �̴�.

Question: �� ������ ������ �ϴ°�?
Answer: Height: �� ����ϰ�, ����ڰ� ���� �ϳ��� �Է��ϱ⸦ ��ٸ���, �׸��� �װ��� ���� height�� ���� �ִ´�.

Question: �������� ����Ǵ� ������ �����ΰ�?
Answer: �Ϲ�������, 'width = input("Width: ")' �Ʒ��� �����̴�.

Question: �� ������ ������ �ϴ°�?
Answer: Width: �� ����ϰ�, ����ڰ� ���� �ϳ��� �Է��ϱ⸦ ��ٷ���, �װ��� ���� width�� ���� �ִ´�.

Question: �������� ����Ǵ� ������ �����ΰ�?
Answer: ������ ������ ������ ���κ��� �鿩���� Ȥ�� ����� �Ǿ� ������ �ʴٸ�, �װ��� �ٷ� ������ �����̴�. �׷��Ƿ� ���� ������ : 'print "perimeter = ",width+height+width+width' �̴� (�װ��� ���� ������ο� �ִ� �Լ��� ���������� ������, �װ��� �������� �忡�� �ٷ�ڴ�.)

Question: �� ������ ������ �ϴ°�?
Answer: ���� perimeter = �� ����ϰ�, �׸��� ���� width+height+width+width �� ����Ѵ�.

Question: width+height+width+width�� ���̸� ������ ����ϴ°�?
Answer: ��� ����, �簢���� ���� ������ ���� �Ʒ����� �ʺ� ���ϱ� �º��� ���� ���ϱ� ������ �ʺ� ���ϱ� �캯�� (��?) ���̴�. ���� ������ �׸��� �캯�� ����, Ȥ�� ���̰� �Ǿ�� �Ѵ�.

Question: �� � ���� ���̰� '��Ȯ�ϰ�' ���Ǿ����� �����ϴ°�?
Answer: �ʺ�� ���̰� ���� ���� ��Ȯ�ϰ� ���Ǿ���.

�츮�� �ŴҾ� �� ���� ���α׷��� 5���� ���� ȭ�鿡 ����ϴ� ���α׷��̴�. �׷�����, �̰��� �� ���α׷��� ��� �Ѱ��ε� :

. . . .

�׸��� �̰��� �� ���α׷��̴�:

number = 5
while number > 1:
    print ".",
    number = number - 1
print

�� ���α׷��� ���� �鿩����� �κ�(�Ǵ� ���� ����)�� �����Ƿ� ���캸�⿡ ���� ������ ���̴�. ���� �����غ���

Question: ����Ǿ�� �� ù ��° ������ �����ΰ�?
Answer: �� ���Ͽ��� ù��° ������: number = 5 �̴�.

Question: �װ��� ������ �ϴ°�?
Answer: ���� 5�� number������ �ִ´�.

Question: ���� ������ ������
Answer: ���� ������: while number > 1: �̴�

Question: �װ��� ������ �ϴ°�?
Answer: �� , while �������� �Ϲ������� �ڽ��� �������� ���� ������, ���� ���̶�� ������ �鿩����� �ڵ带 �����ϰ�, �׷��� ������ �� �ڵ带 �dz� �ڴ�.

Question: �׷��� �װ��� ���� ������ �ϴ°�?
Answer: ���� 'number > 1' �� ���̶�� ������ �� ������ ����� ���̴�.

Question: �׷��� number > 1 �ΰ�?
Answer: number�� �־��� ������ ���� 5 �̰� '5 > 1' �̹Ƿ� �׷���.

Question: �׷� ���� ������ �����ΰ�?
Answer: while �� ���̹Ƿ� ���� ������ : 'print ".",' �̴�

Question: �� ������ ������ �ϴ°�?
Answer: �� ���� ���� ��´�. �׸��� �������� , �� �����Ƿ� ������ print�������� ���� ���ο� ��µ��� ���� ���̴�.

Question: ���� ������ ������
Answer: number = number - 1 �̴� �ֳ��ϸ� �װ��� ���� �����̸� �ƹ��� �鿩���� ��ȭ�� ���� �����̴�.

Question: �װ��� ������ �ϴ°�?
Answer: �װ��� number - 1 �� ����Ѵ�, �װ��� number�� ���簪 (5)�̰� �ű⿡�� 1�� ����, �װ��� number������ ���ο� ������ �Ѵ�. �׷��� �⺻������ �װ��� number�� ���� 5 ���� 4 �� �����Ѵ�.

Question: ���� ������ ������
Answer: ��, �鿩���Ⱑ �Ǿ����Ƿ� �츮�� � ������ ���� ���������� ���캸�ƾ� �Ѵ�. �װ��� while ȸ���̴�, �׷��� �츮�� while ���� �ǵ��� �����Ѵ�. �� ������ while number > 1:�̴�.

Question: �װ��� ������ �ϴ°�?
Answer: number ������ ���� ���캸��, �� ���� 4 �ε�, �װͰ� 1 �� ���غ���. '4 > ' �̹Ƿ� while ������ ��ӵȴ�.

Question: ���� ������ ������
Answer: while ������ ���̾����Ƿ�, ���� ������ : 'print ".",' �̴�

Question: �װ��� ������ �ϴ°�?
Answer: �� ���ο� �� ��° �� �ϳ��� ����Ѵ�.

Question: ���� ������ ������
Answer: �鿩���Ⱑ ������ �ʾ����Ƿ� ���� ������: 'number = number - 1' �̴�

Question: �׷��� �װ��� ������ �ϴ°�?
Answer: �װ��� ������ number ��(4)�� �����ְ�, 1�� number���� ����, �׷� 3�� �ǰ� �׷��� �ᱹ�� 3�� ���ο� number�� ���� �ȴ�.

Question: ���� ������ ������
Answer: while ȸ������ �������� ���ؼ� �鿩���⿡ ��ȭ�� �����Ƿ�, ���� ������ : while number > 1: �̴�.

Question: �װ��� ������ �ϴ°�?
Answer: �װ��� number�� ���� ��(3)�� 1�� ���Ѵ�. 3 > 1 �̹Ƿ� while ȸ���̴� ��ӵȴ�.

Question: ���� ������ ������
Answer: while ȸ���� ������ ���̹Ƿ� ���� ������ : print ".", �̴�.

Question: �׸��� �װ��� �ϴ� �ٴ�?
Answer: �� ��°�� ���� �� ���ο� ��µȴ�.

Question: ���� ������ ������
Answer: �װ��� : number = number - 1 �̴�

Question: �װ��� ������ �ϳ�?
Answer: �װ��� ������ number ��(3)�� ���ؼ� �ű⿡�� 1�� ���� 2�� ���ο� number�� ������ �����.

Question: ���� ������ ������
Answer: while ȸ������ ���ۺκ����� �ǵ��� ����: while number > 1:

Question: �װ��� ������ �ϴ°�?
Answer: �װ��� ������ number ��(2)�� 1�� ���Ѵ�. 2 > 1 �̹Ƿ� while ȸ���̴� ��ӵȴ�.

Question: ���� ������ ������
Answer: while ȸ���̰� ��ӵǹǷ� : print ".", �̴�

Question: �װ��� ������ �ϴ°�?
Answer: �װ��� ���� �ǹ̿�, ���ֿ� �׸��� ��� �͵��� Ž���Ѵ�. ����Դϴ�. (�������� ȯ���Ű���� ����~)
�� ������ ȭ�鿡 �� ��° ���� ����Ѵ�.

Question: ���� ������ ������
Answer: �װ���: number = number - 1 �̴�.

Question: �װ��� ������ �ϴ°�?
Answer: ������ number ��(2)�� ���ؼ� �ű⿡�� 1 �� ���� 1 �� ���ο� number�� ������ �����.

Question: ���� ������ ������
Answer: while ȸ���̷� �ٽ� �ǵ��� ����: while number > 1:

Question: �� ������ ������ �ϴ°�?
Answer: �װ��� ������ number ��(1)�� 1�� ���Ѵ�. 1 > 1 �� �����̹Ƿ� (���� �Ϻ��� ũ�� �ʴ�), whileȸ���̸� Ż���Ѵ�.

Question: ���� ������ ������
Answer: while ȸ������ ������ �����̹Ƿ� ���� ������ while ȸ���̰� ���� ���� ������ �����̴�, �Ǵ�: print

Question: �� ������ ������ �ϴ°�?
Answer: ȭ�鿡�� ���� �������� �̵���Ų��.

Question: �� �� ���α׷��� �� 5���� ���� �ʴ°�?
Answer: ȸ���̰� 1 �� ������ Ż���Ѵ�.

Question: ��� �츮�� �װ��� ��ĥ �� �ֳ�?
Answer: ȸ���̸� 1�� ���߿� Ż���Ų��.

Question: �׷� ��� �츮�� �װ��� �ϳ�?
Answer: �������� ����� �ִ�. �ϳ��� ����� while ȸ���̸� ������ ���� �ٲٴ� ���̴� : while number > 0: �� �ٸ� ����� ������ ������ ���� �ٲٴ� ���̴� : number >= 1 �ٸ� ����� ���� �ִ�.

���� ��� ���α׷��� ��ġ�°�?

�������� ���α׷��� ������ �ϴ����� ������ �ʿ䰡 �ִ�. �������� ���α׷��� ������ �ؾ��ϴ����� ������ �ʿ䰡 �ִ�. ���ڰ��� �������� ���������� ������ ����. ������� �ݵ�� ����߸� �ϴ� ����̴�. �������� �ѽð��� ������ ������ ���� ��� ��� ���� �ִٸ�, �� ������ ���Ͽ� �������� ���� �غ��ų� ������ ǫ ���̰� ������ ����. ��� �Ŀ� ���ƿ��� �������� �Ƹ��� �� ������ ���Ͽ� ���ο� ������ ������ �� ���̴�. ����� ���.


파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan
파이썬 디버깅이란 - paisseon dibeoging-ilan

Next: �Լ� �����ϱ� Up: �Ϲ����� ���� ���̽� ��ħ�� Previous: �� ��   �� �� Josh Cogliati