본문 바로가기
프로그램/Python 1000제

Python 5제] 3제의 문제를 아래와 같이 나타내는 윈도우 프로그램을 작성하시오.

by 건티 2021. 6. 30.
728x90

참고풀이 결과]

초기화면)

음수입력 예)

입력예시1)

입력예시 2)

 

입력예시 3)

 

▶ End 버튼을 클릭하면 윈도우 창을 닫으며 작업을 끝낸다.

참고풀이]

from tkinter import *
from tkinter import messagebox


#최대값으로 최소값을 나눈 나머지가 10보다 크면 "Big", 10보다 작으면 "Small",
#10이면 "Same"을 출력하는 메세지박스를 출력함수를 만든다.
def BSS_Show():
   n1=int(ent1.get())
   n2=int(ent2.get())
   n3=int(ent3.get())
    
   if n1>=0 and n2>=0 and n3>=0:
       Max=max(n1,n2,n3)
       Min=min(n1,n2,n3)
       Result="Big" if Min%Max>10 else ("Small" if Min%Max<10 else "Same")
       messagebox.showinfo("결과 출력",Result)
   else:
       messagebox.showinfo("에러메세지","0이상의 정수를 입력하세요.\n다시 입력하세요...")
   ent1.delete(0,END)
   ent2.delete(0,END)
   ent3.delete(0,END)
   ent1.focus()

#창닫기 함수를 만든다.
def WinEnd():
    win.destroy()
    
#main부분     
win=Tk()
#윈도우창의 크기와 위치를 정한다.
win.geometry("260x150+500+400")
#윈도우창의 크기조절을 할 수 없도록 한다.
win.resizable(0,0)

#첫번째 정수를 입력받을 레이블과 텍스트박스를 만든다.
lbl1=Label(win,text="첫번째 정수를 입력하시오 : ",width=20)
lbl1.grid(row=0,column=0,padx=10,pady=5)
ent1=Entry(win,width=10)
ent1.grid(row=0,column=1)

#첫번째 정수를 입력받을 레이블과 텍스트박스를 만든다.
lbl2=Label(win,text="두번째 정수를 입력하시오 : ",width=20)
lbl2.grid(row=1,column=0,padx=10,pady=5)
ent2=Entry(win,width=10)
ent2.grid(row=1,column=1)

#첫번째 정수를 입력받을 레이블과 텍스트박스를 만든다.
lbl3=Label(win,text="세번째 정수를 입력하시오 : ",width=20)
lbl3.grid(row=2,column=0,padx=10,pady=5)
ent3=Entry(win,width=10)
ent3.grid(row=2,column=1)

btn1=Button(win,text="결과보기", width=10, command=BSS_Show)
btn1.grid(row=3,column=0,pady=10)

btn2=Button(win,text="End", width=10, command=WinEnd)
btn2.grid(row=3,column=1,pady=10)

win.mainloop()

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글