# 시험 성적 scores = {"수학":0, "영어":50, "코딩":100} for subject, score in scores.items(): #print(subject, score) print(subject.ljust(8), str(score).rjust(4), sep=":")
# 은행 대기순번표 # 001, 002, 003, ... for num in range(1, 21): print("대기번호 : " + str(num).zfill(3))
다양한 출력포맷
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# 빈 자리는 빈공간으로 두고, 오른쪽 정렬을 하되, 총 10자리 공간을 확보 print("{0: >10}".format(500)) # 양수일 땐 +로 표시, 음수일 땐 -로 표시 print("{0: >+10}".format(500)) print("{0: >+10}".format(-500)) # 왼쪽 정렬하고, 빈칸으로 _로 채움 print("{0:_<+10}".format(500)) # 3자리 마다 콤마를 찍어주기 print("{0:,}".format(1000000000)) # 3자리 마다 콤마를 찍어주기, +- 부호도 붙이기 print("{0:+,}".format(1000000000)) # 3자리 마다 콤마를 찍어주기, +- 부호도 붙이고, 자릿수 확보하기 # 돈이 많으면 행복해지니까 빈 자리는 ^ 로 채워주기 print("{0:^<+30,}".format(1000000000)) # 소수점 출력 print("{0:f}".format(5/3)) # 소수점 특정 자리수 까지만 표시 (소수점 3째 자리에서 반올림) print("{0:.2f}".format(5/3))
score_file = open("score.txt", "r", encoding="utf8") print(score_file.readline(), end="") # 줄별로 읽기, 한 줄 읽고 커서는 다음 줄로 이동 print(score_file.readline(), end="") print(score_file.readline(), end="") print(score_file.readline(), end="") score_file.close()
score_file = open("score.txt", "r", encoding="utf8") lines = score_file.readlines() # list 형태로 저장 for line in lines: print(line, end="") score_file.close()
pickle
1 2 3 4 5 6 7 8 9 10 11
import pickle profile_file = open("profile.pickle", "wb") # b: 바이너리 profile = {"이름":"고형균", "나이":36, "취미":["축구", "볼링", "코딩"]} print(profile) pickle.dump(profile, profile_file) # profile 에 있는 정보를 file 에 저장 profile_file.close()
profile_file = open("profile.pickle", "rb") profile = pickle.load(profile_file) # file 에 있는 정보를 profile 에 불러오기 print(profile) profile_file.close()
with
1 2 3 4 5
with open("study.txt", "w", encoding="utf8") as study_file: study_file.write("파이썬을 열심히 공부하고 있어요")
with open("study.txt", "r", encoding="utf8") as study_file: print(study_file.read())
try: print("나누기 전용 계산기입니다.") nums = [] nums.append(int(input("첫 번째 숫자를 입력하세요 : "))) nums.append(int(input("두 번째 숫자를 입력하세요 : "))) nums.append(int(nums[0] / nums[1])) print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2])) except ValueError: print("에러! 잘못된 값을 입력하였습니다.") except ZeroDivisionError as err: print(err) except Exception as err: print("알 수 없는 에러가 발생하였습니다.") print(err)
try: print("한 자리 숫자 나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력하세요 : ")) num2 = int(input("두 번째 숫자를 입력하세요 : ")) if num1 >= 10or num2 >= 10: raise BigNumberError("입력값 : {0}, {1}".format(num1, num2)) print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2))) except ValueError: print("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.") except BigNumberError as err: print("에러가 발생하였습니다. 한 자리 숫자만 입력하세요.") print(err)
모듈
모듈을 사용하기 위해 theater_module.py 파일을 생성합니다.
1 2 3 4 5 6 7 8 9 10 11
# 일반 가격 defprice(people): print("{0}명 가격은 {1}원 입니다.".format(people, people * 10000))
# 조조 할인 가격 defprice_morning(people): print("{0}명 조조 할인 가격은 {1}원 입니다.".format(people, people * 6000))
# 군인 할인 가격 defprice_soldier(people): print("{0}명 군인 할인 가격은 {1}원 입니다.".format(people, people * 4000))
# 1) 기본 import theater_module theater_module.price(3) # 3명이서 영화 보러 갔을 때 가격 theater_module.price_morning(4) # 4명이서 조조 할인 영화 보러 갔을 때 theater_module.price_soldier(5) # 5명의 군인이 영화 보러 갔을 때
# 2) 별칭 사용 import theater_module as mv mv.price(3) mv.price_morning(4) mv.price_soldier(5)
# 3) 전체 사용 from theater_module import * price(3) price_morning(4) price_soldier(5)
# 4) 특정한 함수 사용 from theater_module import price, price_morning price(5) price_morning(6)
# 5) 함수에 별칭 사용 from theater_module import price_soldier as price price(5)
if __name__ == "__main__": print("Thailand 모듈을 직접 실행") print("이 문장은 모듈을 직접 실행할 때만 실행돼요") trip_to = ThailandPackage() trip_to.detail() else: print("Thailand 외부에서 모듈 호출")
패키지, 모듈 위치
1 2 3
import inspect import random print(inspect.getfile(random))