요청 : 숫자를 입력하고 그에 맞는 구구단을 출력해주는 윈도우OS용 프로그램을 만들도록 파이썬 코딩해줘

import tkinter as tk
def main():
# 윈도우 창 생성
window = tk.Tk()
window.title("구구단")
# 입력 레이블 생성
input_label = tk.Label(window, text="구구단을 출력할 숫자를 입력하세요:")
input_label.grid(row=0, column=0)
# 입력 엔트리 생성
input_entry = tk.Entry(window)
input_entry.grid(row=0, column=1)
# 출력 레이블 생성
output_label = tk.Label(window, text="")
output_label.grid(row=1, column=0, columnspan=2)
# 계산 버튼 생성
calculate_button = tk.Button(window, text="계산", command=calculate)
calculate_button.grid(row=2, column=0)
# 윈도우 창 실행
window.mainloop()
def calculate():
# 입력한 숫자를 가져온다.
number = int(input_entry.get())
# 구구단을 출력한다.
output_label.config(text="")
for i in range(1, 10):
output_label.config(text=output_label.cget("text") + "{} * {} = {}\n".format(number, i, number * i))
if __name__ == "__main__":
main()
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\egosm\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 1948, in __call__
return self.func(*args)
^^^^^^^^^^^^^^^^
File "c:\Python\Gugudan_II.py", line 29, in calculate
number = int(input_entry.get())
^^^^^^^^^^^
NameError: name 'input_entry' is not defined
위와 같은 오류 발생
ChatGPT에게 수정 요청
import tkinter as tk
# input_entry를 전역 변수로 선언
input_entry = None
def main():
global input_entry # input_entry를 전역 변수로 사용하기 위해 선언
# 윈도우 창 생성
window = tk.Tk()
window.title("구구단")
# 입력 레이블 생성
input_label = tk.Label(window, text="구구단을 출력할 숫자를 입력하세요:")
input_label.grid(row=0, column=0)
# 입력 엔트리 생성
input_entry = tk.Entry(window)
input_entry.grid(row=0, column=1)
# 출력 레이블 생성
output_label = tk.Label(window, text="")
output_label.grid(row=1, column=0, columnspan=2)
# 계산 버튼 생성
calculate_button = tk.Button(window, text="계산", command=calculate)
calculate_button.grid(row=2, column=0)
# 윈도우 창 실행
window.mainloop()
def calculate():
# 입력한 숫자를 가져온다.
number = int(input_entry.get())
# 구구단을 출력한다.
output_label.config(text="")
for i in range(1, 10):
output_label.config(text=output_label.cget("text") + "{} * {} = {}\n".format(number, i, number * i))
if __name__ == "__main__":
main()
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\egosm\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 1948, in __call__
return self.func(*args)
^^^^^^^^^^^^^^^^
File "c:\Python\Gugudan_III.py", line 36, in calculate
output_label.config(text="")
^^^^^^^^^^^^
NameError: name 'output_label' is not defined
위와 같은 오류 발생
ChatGPT에게 오류 수정 추가 요청
import tkinter as tk
# input_entry와 output_label을 전역 변수로 선언
input_entry = None
output_label = None
def main():
global input_entry, output_label # input_entry와 output_label을 전역 변수로 사용하기 위해 선언
# 윈도우 창 생성
window = tk.Tk()
window.title("구구단")
# 입력 레이블 생성
input_label = tk.Label(window, text="구구단을 출력할 숫자를 입력하세요:")
input_label.grid(row=0, column=0)
# 입력 엔트리 생성
input_entry = tk.Entry(window)
input_entry.grid(row=0, column=1)
# 출력 레이블 생성
output_label = tk.Label(window, text="")
output_label.grid(row=1, column=0, columnspan=2)
# 계산 버튼 생성
calculate_button = tk.Button(window, text="계산", command=calculate)
calculate_button.grid(row=2, column=0)
# 윈도우 창 실행
window.mainloop()
def calculate():
# 입력한 숫자를 가져온다.
number = int(input_entry.get())
# 구구단을 출력한다.
output_label.config(text="")
for i in range(1, 10):
output_label.config(text=output_label.cget("text") + "{} * {} = {}\n".format(number, i, number * i))
if __name__ == "__main__":
main()


구구단 출력 결과 확인
19단도 가능

'Code of AI' 카테고리의 다른 글
[ChatGPT] 지뢰찾기 게임 만들기 II (수정) (0) | 2023.09.20 |
---|---|
[ChatGPT] 지뢰찾기 게임 만들기 I (0) | 2023.09.20 |
[ChatGPT] 검색 프로그램 파이썬 코딩 (0) | 2023.09.20 |
[wrtn & ChatGPT] 윈도우OS에서 지뢰찾기 게임을 할 수 있도록 파이썬 코드를 만들어줘 (0) | 2023.09.20 |
[ChatGPT] 윈도우 용, exe 파일 만들기 (0) | 2023.09.16 |