출처 : 반크_독도2023
참고풀이]
import math
from tkinter import *
window = Tk()
window.title("My Calculator")
display = Entry(window, width=23, bg="yellow", font=("Helvetica","20"))
display.grid(row=0, column=0, columnspan=5, pady=3)
button_list = [
'7', '8', '9', '/', 'C',
'4', '5', '6', '*', 'log',
'1', '2', '3', '-', 'sin',
'0', '.', '=', '+', ' ']
def click(key):
if key == "=":
result = eval(display.get())
s = str(result)
display.insert(END, "=" + s)
elif key == "C":
display.delete(0, END)
elif key == "log":
log_click()
elif key == "sin":
sin_click()
else:
display.insert(END, key)
def log_click():
code_log = display.get()
num = eval(code_log)
result = math.log10(num)
display.delete(0, END)
display.insert(END, "log(" + code_log + ") = " + str(result))
def sin_click():
code_sin = display.get()
num = eval(code_sin)
result = math.sin(math.radians(num))
display.delete(0, END)
display.insert(END, "sin(" + code_sin + ") = " + str(result))
row_index = 1
col_index = 0
for button_text in button_list:
Button(window, text=button_text, width=5, bg="black", fg="white", font=("Helvetica","16"),
command=lambda t=button_text: click(t)).grid(row=row_index, column=col_index)
col_index += 1
if col_index > 4:
row_index += 1
col_index = 0
window.mainloop()
참고풀이 결과]
시작창)
사칙연산했을 때)
log했을 때)
sin했을 때)
대한민국의 아름다운 영토, 독도의 여름
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 282제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p450 (0) | 2024.05.23 |
---|---|
Python 281제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p439 (0) | 2024.05.22 |
Python 279제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p428 (0) | 2024.05.21 |
Python 278제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p431 (0) | 2024.05.20 |
Python 277제] 2012년 한국정보올림피아드 지역본선 초등부 1번 오븐 시계 (0) | 2024.05.15 |
댓글