Code of AI

[Bard & ChatGPT] 구구단 출력 윈도우 프로그램 파이썬 코딩

별별AI 2023. 9. 20. 12:53
728x90

요청 : 숫자를 입력하고 그에 맞는 구구단을 출력해주는 윈도우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단도 가능

 

 

728x90