# 숫자 입력
number_input_a = int(input("정수 입력> "))
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2 * 3.14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
# 숫자 입력
user_input_a = input("정수 입력> ")
# 사용자 입력이 숫자로만 구성되어 있을 때
if user_input_a.isdigit():
# 숫자로 변환
number_input_a = int(user_input_a)
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2 * 3.14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
else:
print("정수를 입력하지 않았습니다.")
try:
. . . . 예외가 발생할 가능성이 있는 코드
except:
. . . . 예외가 발생했을 때 실행할 코드
오류가 났던 위의 코드를 조건문이 아닌 try except구문을 사용하면 아래처럼 작성할 수 있음
try:
# 숫자로 변환
number_input_a = int(input("정수 입력> ")) # 예외가 발생할 가능성이 있는 구문
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2 * 3.14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
except:
print("무언가 잘못되었습니다.") # 예외가 발생했을 때 실행할 구문
try:
. . . . 예외가 발생할 가능성이 있는 코드
except:
. . . . pass
# 변수 선언
list_input_a = ["52", "273", "32", "스파이", "103"]
# 반복 적용
list_number = []
for item in list_input_a:
# 숫자로 변환해서 리스트에 추가
try:
float(item)
list_number.append(item)
except:
pass
#출력
print("{} 내부에 있는 숫자는".format(list_input_a))
print("{}입니다.".format(list_number))
try:
. . . . 예외가 발생할 가능성이 있는 코드
except:
. . . . 예외가 발생했을 때 실행할 코드
else:
. . . . 예외가 발생하지 않았을 때 실행할 코드
# try except else 구문으로 예외 처리
try:
# 숫자로 변환
number_input_a = int(input("정수 입력> "))
except:
print("정수를 입력하지 않았습니다.")
else:
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2 * 3.14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
try:
. . . . 예외가 발생할 가능성이 있는 코드
except:
. . . . 예외가 발생했을 때 실행할 코드
elxe:
. . . . 예외가 발생하지 않았을 때 실행할 코드
finally:
. . . . 무조건 실행할 코드
# try except 구문으로 예외를 처리함
try:
# 숫자로 변환함
number_input_a = int(input("정수 입력> "))
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2 * .14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
except:
print("정수를 입력하지 않았습니다.")
else:
print("예외가 발생하지 않았습니다.")
finally:
print("일단 프로그램이 어떻게든 끝났습니다.")
try + except 구문 조합
try + except + else 구문 조합
try + except + finally 구문 조합
try + except + else + finally 구문 조합
try + finally 구문 조합
try:
. . . . 예외가 발생할 가능성이 있는 구문
except 예외의 종류 as 예외 객체를 활용할 변수 이름:
. . . . 예외가 발생했을 때 실행할 구문
# try except 구문으로 예외 처리
try:
# 숫자로 변환
number_input_a = int(input("정수 입력> "))
# 출력
print("원의 반지름:", number_input_a)
print("원의 둘레:", 2, * 3.14 * number_input_a)
print("원의 넓이:", 3.14 * number_input_a * number_input_a)
except Exception as exception:
# 예외 객체 출력
print("type(exception):", type(exception))
print("exception:", exception)
# 실행 결과
----------
type(exception): <class 'ValueError'>
exception: invalid literal for int() with base 10: 'yes!!'
try:
. . . . 예외가 발생할 가능성이 있는 구문
except 예외의 종류 A:
. . . . 예외 A가 발생햇을 때 실행할 구문
except 예외의 종류 B:
. . . . 예외 B가 발생했을 때 실행할 구문
except 예외의 종류 C:
. . . . 예외 C가 발생했을 때 실행할 구문
# 변수 선언
list_number = [52, 273, 32, 72, 100]
# try except 구문으로 예외 처리
try:
# 숫자 입력
number_input = int(input("정수 입력> "))
# 리스트 요소 출력
print("{}번째 요소: {}".format(number_input, list_number[number_input]))
except ValueError:
#ValueError가 발생하는 경우
print("정수를 입력해 주세요!")
except IndexError:
# IndexError가 발생하는 경우
print("리스트의 인덱스를 벗어났어요!")
# 실행 결과
----------
정수를 입력해 주세요!
# 변수 선언
list_number = [52, 273, 32, 72, 100]
# try except 구문으로 예외 처리
try:
# 숫자 입력
number_input = int(input("정수 입력> "))
# 리스트 요소 출력
print("{}번째 요소: {}".format(number_input, list_number[number_input]))
except ValueError as exception:
#ValueError가 발생하는 경우
print("정수를 입력해 주세요!")
print("exception:", exception)
except IndexError as exception:
# IndexError가 발생하는 경우
print("리스트의 인덱스를 벗어났어요!")
print("exception:", exception)
# 실행 결과
----------
리스트의 인덱스를 벗어났어요!
exception: list index out of range
# 변수 선언
list_number = [52, 273, 32, 72, 100]
# try except 구문으로 예외 처리
try:
# 숫자 입력
number_input = int(input("정수 입력> "))
# 리스트 요소 출력
print("{}번째 요소: {}".format(number_input, list_number[number_input]))
예외.발생해주세요() # 이 부분에서 잡지 않은 예외 발생하도록 함
except ValueError as exception:
#ValueError가 발생하는 경우
print("정수를 입력해 주세요!")
print("exception:", exception)
except IndexError as exception:
# IndexError가 발생하는 경우
print("리스트의 인덱스를 벗어났어요!")
print("exception:", exception)
except Exception as exception:
# 이외의 예외가 발생한 경우
print("미리 파악하지 못한 예외가 발생했습니다.")
print(type(exception), exception)
# 실행 결과
----------
1번째 요소: 273
미리 파악하지 못한 예외가 발생했습니다.
<class 'NameError'> name '예외' is not defined
raise 예외 객체
# 입력 받음
number = input("정수 입력> ")
number = int(number)
# 조건문 사용
if number > 0:
# 양수일 때: 아직 미구현 상태
raise NotImplementedError
else:
# 음수일 때: 아직 미구현 상태
raise NotImplementedError
import 모듈 이름
import math
변수 또는 함수 | 설명 |
---|---|
sin(x) | 사인값을 구함 |
cos(x) | 코사인값을 구함 |
tan(x) | 탄젠트값을 구함 |
log(x[, base] | 로그 값을 구함 |
ceil(x) | 올림함 |
floor(x) | 내림함 |
from 모듈 이름 import 가져오고 싶은 변수 또는 함수
import 모듈 as 사용하고 싶은 식별자
import random
import random
print("# random 모듈")
# random(): 0.0 <= x < 1.0사이의 float를 리턴함
print("- uniform(10, 20):", random.uniform(10, 20))
# randrange(): 지정한 범위의 int를 리턴
# - randrange(max): 0부터 max 사이의 값 리턴
# - randrange(min, max): min부터 max 사이의 값을 리턴
print("-randrange(10):", random.randrange(10))
# choice(list): 리스트 내부에 있는 요소를 랜덤하게 선택
print("- choice([1, 2, 3, 4, 5]):", random.choice([1, 2, 3, 4, 5]))
# shuffle(list): 리스트의 요소들을 랜덤하게 섞음
print("- shuffle([1, 2, 3, 4, 5]):", random.shuffle([1, 2, 3, 4, 5]))
# sample(list, k=<숫자>): 리스트의 요소 중에 k개를 뽑음
print("- sample([1, 2, 3, 4, 5]):", random.sample([1, 2, 3, 4, 5], k=2))
# 실행 결과
----------
# random 모듈
- uniform(10, 20): 17.714737422859784
-randrange(10): 8
- choice([1, 2, 3, 4, 5]): 1
- shuffle([1, 2, 3, 4, 5]): None
- sample([1, 2, 3, 4, 5]): [1, 4]
# 모듈 읽음
import sys
# 명령 매개변수 출력
print(sys.argv)
print("---")
# 컴퓨터 환경과 관련된 정보 출력
print("getwindowsversion:()", sys.getwindowsversion())
print("---")
print("copyright:", sys.copyright)
print("---")
print("version:", sys.version)
# 프로그램 강제 종료
sys.exit()
# 모듈 읽음
import os
# 기본 정보 몇 개 출력
print("현재 운영체제:", os.name)
print("현재 폴더:", os.getcwd())
print("현재 폴더 내부의 요소:", os.listdir)
# 폴더를 만들고 제거(폴더가 비어 있을 때만 제거 가능)
os.mkdir("hello")
os.rmdir("hello")
# 파일을 생성하고 + 파일 이름을 변경
with open("original.txt", "w") as file:
file.write("hello")
os.rename("original.txt", "new.txt")
# 파일 제거
os.remove("new.txt")
# os.unlink("new.txt")
# 시스템 명령어 실행
os.system("dir")
# 모듈 읽음
import datetime
# 현재 시각을 구하고 출력하기
print("# 현재 시각 출력하기")
now = datetime.datetime.now()
print(now.year, "년")
print(now.month, "월")
print(now.day, "일")
print(now.hour, "시")
print(now.minute, "분")
print(now.second, "초")
print()
# 시간 출력 방법
print("# 시간을 포맷에 맞춰 출력하기")
output_a = now.strftime("%Y.%m.%d %H:%M%S")
output_b = "{}년 {}월 {}일 {}시 {}분 {}초".format(now.year, \
now.month,\
now.day,\
now.hour,\
now.minute,\
now.second)
output_c = now.strftime("%Y{} %m{} %d{} %H{} %M{} %S{}").format(*"년월이시분초") # 문자열, 리스트 등에 *을 붙이면 요소 하나하나가 매개변수로 지정됨
print(output_a)
print(output_b)
print(output_c)
print()
# 특정 시간 요소 교체하기
print("#now.replace()로 1년 더하기")
output = now.replace(year=(now.year + 1))
print(output.strftime("%Y{} %m{} %d{} %H{} %M{} %S{}").format(*"년월이시분초"))
# 실행 결과
----------
# 현재 시각 출력하기
2023 년
8 월
11 일
4 시
46 분
7 초
# 시간을 포맷에 맞춰 출력하기
2023.08.11 04:4607
2023년 8월 11일 4시 46분 7초
2023년 08월 11이 04시 46분 07초
#now.replace()로 1년 더하기
2024년 08월 11이 04시 46분 07초
import time
import time
print("지금부터 5초동안 정지합니다.")
# timesleep()함수는 특정 시간 동안 코드 진행을 정지할 때 사용함
# 매개 변수에는 정지하고 싶은 시간을 초 단위로 입력함
time.sleep(5)
print("프로그램을 종료합니다.")
# 실행 결과
----------
지금부터 5초동안 정지합니다.
프로그램을 종료합니다.
# 모듈을 읽어 들임
from urllib import request
# urlopen() 함수로 구글의 메인 페이지를 읽음
target = request.urlopen("https://google.com")
# read()함수를 호출하면 해당 웹페이지에 있는 내용을 읽어서 가져옴
output = target.read()
# 출력
print(output)
# 실행 결과
---------
# 앞의 b는 바이너리 데이터(binary data)를 의미함
b'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"
...생략...
구문 오류는 프로그램 실행전에 발생하는 오류로, 구문에 오류가 존재하면 작동하지 않지만 예외는 프로그램은 실행이 되지만 실행 중에 오류가 발생한다.
output = 10 + "개" # 1
int("안녕하세요") # 2
cursor.close) # 3
[1, 2, 3, 4, 5][10] # 4
번호 | 오류 or 예외 | 에러 명 |
---|---|---|
1 | 예외 | TypeError |
2 | 예외 | ValueError |
3 | 구문 오류 | SyntaxError |
4 | 예외 | IndexError |
감사합니다. 이런 정보를 나눠주셔서 좋아요.