Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보획득량
- 단순회귀 분석
- 히스토그램 그리기
- max
- 순위출력
- sql
- Sum
- %in%
- 회귀분석
- Dense_Rank
- count
- 빅데이터
- difftime
- merge
- 그래프 생성 문법
- sqld
- 총과 카드만들기
- 회귀분석 알고리즘
- 그래프시각화
- 막대그래프
- Intersect
- 상관관계
- 팀스파르타
- if문 작성법
- 데이터분석
- 데이터분석가
- 여러 데이터 검색
- 빅데이터분석
- 불순도제거
- loop 문
Archives
- Today
- Total
ch0nny_log
[빅데이터분석] Python_21. 예외처리 이해하기 ① (try~except) 본문
def my_devide():
try:
x=input('분자의 숫자를 입력')
y=input('분모의 숫자를 입력')
return int(x)/int(y)
except:
return '잘못된 값을 입력하셔서 나누기를 할 수 없습니다.'
print(my_devide())
def fact():
import math
try:
x = int(input('숫자를 입력하세요: '))
result = math.factorial(x)
return result
except ValueError:
return '잘못된 입력입니다.'
print(fact())
설명: except ValueError 를 입력하여 값오류가 떴을 때 출력하게끔 함
■ 예외처리 활용 인터페이스 생성
1단계: 모듈 임포트 및 팩토리얼 계산 함수 정의
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get()) # 화면의 박스에 입력받은 값을 n 할당
res = math.factorial(n) # n숫자값의 factorial 계산
result_lbl.config(text=f"팩토리얼: {res}") #팩토리얼 계산값 화면에 출력
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.") # 오류 메시지 박스 출력
설명:
- 모듈 임포트: tkinter를 tk로 임포트하고, messagebox와 math 모듈을 임포트합니다.
- 팩토리얼 계산 함수 (calc_fact):
- 입력된 값을 정수로 변환하고 팩토리얼을 계산하여 결과를 표시합니다.
- 정수가 아닌 값을 입력한 경우 오류 메시지를 표시합니다.
2단계: Tkinter 창 생성
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk() #tk() 클래스를 이용해서 root라는 객체 생성
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
설명:
- Tkinter 창 생성:
- root라는 이름의 Tkinter 메인 윈도우를 생성합니다.
- root.title("팩토리얼 계산기")를 사용하여 창의 제목을 "팩토리얼 계산기"로 설정합니다.
- root.geometry("500x400")를 사용하여 창의 크기를 500x400 픽셀로 설정합니다.
3단계: 프레임 생성 및 중앙 정렬 (생략)
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root)
frame.pack(expand=True)
설명:
- 프레임 생성:
- frame을 생성하여 중앙 정렬을 위해 사용합니다.
- frame.pack(expand=True)를 사용하여 프레임을 창에 추가하고, 여유 공간을 채우도록 합니다.
4단계: 숫자 입력 레이블 추가
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root)
frame.pack(expand=True)
# 숫자 입력 레이블 추가
entry_lbl = tk.Label(frame, text="숫자 입력:", font=("Arial", 14))
entry_lbl.pack(pady=10)
설명:
- 숫자 입력 레이블:
- "숫자 입력:"이라는 텍스트를 가진 레이블을 생성합니다.
- 폰트를 Arial 14로 설정하고, entry_lbl.pack(pady=10)를 사용하여 레이블을 프레임에 추가하며, 위아래 여백을 10픽셀로 설정합니다.
5단계: 숫자 입력 필드 추가
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root)
frame.pack(expand=True)
# 숫자 입력 레이블 추가
entry_lbl = tk.Label(frame, text="숫자 입력:", font=("Arial", 14))
entry_lbl.pack(pady=10)
# 숫자 입력 필드 추가
entry = tk.Entry(frame, font=("Arial", 14), width=10)
entry.pack(pady=10)
설명:
- 숫자 입력 필드:
- 사용자가 숫자를 입력할 수 있는 입력 필드를 생성합니다.
- 폰트를 Arial 14로 설정하고, 너비를 10자로 설정합니다.
- entry.pack(pady=10)를 사용하여 입력 필드를 프레임에 추가하며, 위아래 여백을 10픽셀로 설정합니다.
6단계: 계산 버튼 추가
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root)
frame.pack(expand=True)
# 숫자 입력 레이블 추가
entry_lbl = tk.Label(frame, text="숫자 입력:", font=("Arial", 14))
entry_lbl.pack(pady=10)
# 숫자 입력 필드 추가
entry = tk.Entry(frame, font=("Arial", 14), width=10)
entry.pack(pady=10)
# 계산 버튼 추가
calc_btn = tk.Button(frame, text="계산", command=calc_fact, font=("Arial", 14))
calc_btn.pack(pady=10)
설명:
- 계산 버튼:
- "계산"이라는 텍스트를 가진 버튼을 생성합니다.
- 버튼이 클릭되면 calc_fact 함수가 호출됩니다.
- 폰트를 Arial 14로 설정하고, calc_btn.pack(pady=10)를 사용하여 버튼을 프레임에 추가하며, 위아래 여백을 10픽셀로 설정합니다.
7단계: 결과 레이블 추가 및 Tkinter 이벤트 루프 시작
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root)
frame.pack(expand=True)
# 숫자 입력 레이블 추가
entry_lbl = tk.Label(frame, text="숫자 입력:", font=("Arial", 14))
entry_lbl.pack(pady=10)
# 숫자 입력 필드 추가
entry = tk.Entry(frame, font=("Arial", 14), width=10)
entry.pack(pady=10)
# 계산 버튼 추가
calc_btn = tk.Button(frame, text="계산", command=calc_fact, font=("Arial", 14))
calc_btn.pack(pady=10)
# 결과 레이블 추가
result_lbl = tk.Label(frame, text="팩토리얼:", font=("Arial", 16))
result_lbl.pack(pady=10)
# Tkinter 이벤트 루프 시작 (창을 표시하고 사용자 입력을 대기)
root.mainloop()
설명:
- 결과 레이블:
- "팩토리얼:"이라는 텍스트를 가진 레이블을 생성합니다.
- 폰트를 Arial 16으로 설정하고, result_lbl.pack(pady=10)를 사용하여 레이블을 프레임에 추가하며, 위아래 여백을 10픽셀로 설정합니다.
Tkinter 이벤트 루프 시작:
- root.mainloop()를 호출하여 이벤트 루프를 시작합니다. 이 함수는 창이 닫힐 때까지 프로그램이 실행되도록 합니다.
+) 프레임 색깔 변경
frame = tk.Frame(root. bg ='lightblue')
import tkinter as tk
from tkinter import messagebox
import math
# 팩토리얼 계산 함수
def calc_fact():
try:
n = int(entry.get())
res = math.factorial(n)
result_lbl.config(text=f"팩토리얼: {res}")
except ValueError:
messagebox.showerror("오류", "정수를 입력하세요.")
# Tkinter 창 생성
root = tk.Tk()
root.title("팩토리얼 계산기") # 창 제목 설정
root.geometry("500x400") # 창 크기 설정
# 프레임 생성 (중앙 정렬을 위해)
frame = tk.Frame(root, bg="lightblue")
frame.pack(expand=True, fill="both")
# 숫자 입력 레이블 추가
entry_lbl = tk.Label(frame, text="팩토리얼 결과를 볼 숫자 입력:", font=("Arial", 24),bg="lightblue")
entry_lbl.pack(pady=10)
# 숫자 입력 필드 추가
entry = tk.Entry(frame, font=("Arial", 24), width=20)
entry.pack(pady=10)
# 계산 버튼 추가
calc_btn = tk.Button(frame, text="계산", command=calc_fact, font=("Arial", 14))
calc_btn.pack(pady=10)
# 결과 레이블 추가
result_lbl = tk.Label(frame, text="팩토리얼:", font=("Arial", 16), bg="lightblue")
result_lbl.pack(pady=10)
# Tkinter 이벤트 루프 시작 (창을 표시하고 사용자 입력을 대기)
root.mainloop()
'빅데이터 분석(with 아이티윌) > python' 카테고리의 다른 글
[빅데이터분석] Python_23. 예외처리 이해하기 ③ (try~except~finally) (1) | 2024.08.08 |
---|---|
[빅데이터분석] Python_22. 예외처리 이해하기 ② (try~except~else) (0) | 2024.08.08 |
[빅데이터분석] Python_20. 파이썬 임폴트 이해하기 (0) | 2024.08.07 |
[빅데이터분석] Python_19. 파이썬 패키지 (0) | 2024.08.07 |
[빅데이터분석] Python_16. 람다 함수 (0) | 2024.08.07 |