오늘은 비가 꽤 많이 내렸습니다
토요일이라 학원에 가지 않고 집에서 파이썬 공부를 했는데요
계산기를 처음 만드는 시도를 하면서 계속 고쳐나가는 과정 속에
많은것을 배우고 있습니다
완성이 됐다 싶었을 때 생기는 오류들과 예기치 못한 버그들을
다시한번 점검하고 수정해 나가는 꼼꼼함이 필요하고
계속 버그가 발생해도 포기하지 않는 집념을 갖게되는
성격이 되어가고 있는 것 같습니다
오늘도 포기하지않고 계산기의 버그들을 수정해보았습니다
def __init__(self):
self.result_displayed = False
def disable_number_buttons(self):
for button in number_buttons:
button.config(state="disabled")
def enable_number_buttons(self):
for button in number_buttons:
button.config(state="normal")
init 함수를 이용하여 결과값 출력 창이 계산 전인지 후인지 판단하게 해서
true와 false를 나누어
true인 경우 연산 이후를, false인 경우에 연산 전을 의미하게 했습니다
그렇게 해서 ' = ' 버튼을 눌렀을 경우
연산이 끝나고 난 뒤이기 때문에
disable_number_button 함수를 사용하여
숫자 버튼이 눌리지 않게 되어 결과를 얻은 후에
그 뒤로 숫자가 붙어서 출력이 되는 버그를 수정하였습니다
elif value in ("+", "-", "*", "/"):
self.enable_number_buttons()
self.result_displayed = False
마찬가지 원리로
사칙연산자를 입력한 후에는 버튼이 다시 작동 가능하게 되어
연산을 이어나갈 수 있도록 하였습니다
오늘 거의 하루종일 계산기의 버그를 잡으려고 씨름을 했는데요
버튼 자체에 값을 할당해주기도 하고
select 함수에서 수정을 할지
calculator 함수에서 수정을 할지
그것도 아니면 처음부터 클래스를 풀어야 하는지
내가 모르는 다른 방법은 없을지 고민을 정말 많이 했답니다
이것저것 작업을 했던 티를 낼 수 있는 실질적은 것은 없지만...
직접 쓴 코드들도 다시한번 검색해보고, 그 코드들이 어떻게 작동하는 것인지
작동 원리를 제대로 숙지하는 공부를 하였습니다
남의 것을 베끼기보다는 나의 시간을 쏟아붙고
직접 해보고 체득하여 여러각도를 스스로 생각해내고 시도해보는 것에
의의를 두어 성장이 빠르지는 않더라도
탄탄한 기초를 가진 프로그래머가 되고싶다고 생각해봅니다
2023. 09. 16(토)
프로그래머 도전기 21일차 (0) | 2023.09.19 |
---|---|
프로그래머 도전기 20일차 (0) | 2023.09.17 |
프로그래머 도전기 18일차 (0) | 2023.09.16 |
프로그래머 도전기 17일차 (0) | 2023.09.15 |
프로그래머 도전기 16일차 (1) | 2023.09.13 |