num = input("숫자를 입력하세요 : ") # 3 입력
print(num)
# =>3
print(type(num))
# => <class 'str'>
# 출력할 내용 사이에 넣기
print("안녕하세요", "반갑습니다.", sep=":D "
# => 안녕하세요:D 반갑습니다.
# 출력할 내용 끝에 넣기
# end 사용시 복수의 print()를 사용하더라도 줄바꿈 없이 한 줄로 출력된다.
print("안녕하세요", end=":D ")
print("반갑습니다.")
# => 안녕하세요:D 반갑습니다.
# 정렬하기
# ljust()는 괄호 안의 숫자만큼 공간을 확보 후 왼쪽 정렬하는 것을 의미하고
# rjsut()는 괄호 안의 숫자만큼 공간을 확보 후 오른쪽 정렬하는 것을 의미한다.
menu = {"짜장면":5000, "볶음밥":5000, "탕수육":12000}
for food, price in menu.items() :
print(food.ljust(6), str(price).rjust(6), sep=":")
# 짜장면 : 5000
# 볶음밥 : 5000
# 탕수육 : 12000
# 메뉴 이름은 좌측부터 정렬되어 있고, 가격은 우측부터 정렬되어 있는 것을 볼 수 있다.
# 0으로 채우기
# .zfill()에서 괄호 안의 숫자만큼 공간을 확보하는데, 빈 공간은 0으로 채워진다.
for num in [3, 23, 513] :
print(str(num).zfill(3))
# 003
# 023
# 513
# 총 13자리 확보, 오른쪽 정렬, 빈 공간은 공백으로 채우기
print("{0: >13}".format("안녕하세요"))
# "{0: >13}"에서 : 뒤에 공백은 빈 공간을 무엇으로 채울지를 의미
# >는 정렬 방향을 의미
# 13은 확보할 공간을 의미
# => 안녕하세요
# 양수는 + 붙이기
print("{0:+}".format(123))
# => +123
# 13자리 확보, 왼쪽 정렬, 빈칸 *로 채우기
print("{0:*<13}".format(123))
# => 123**********
# 세자리마다 콤마 찍기
print("{0:,}".format(1000000000))
# => 1,000,000,000
# 13자리 확보, 왼쪽 정렬, 세자리마다 콤마, 양수 +, 빈자리 @
print("{0:#<+13,}".format(10000000))
# => +10,000,000@@
# 소수점 반올림
print("{0:.2f}".format(1/6))
# .2f는 소수점 둘째자리까지 출력한다는 것을 의미(소수점 셋째자리에서 반올림)
# => 0.17
# 파일 쓰기 (파일이 이미 존재할 경우 덮어쓰고, 없을 경우 새로 생성한다.)
menu_file = open("menu.txt", "w", encoding="utf8") # 파일 열기, "w"
print("짜장면 가격 5,000원", file=menu_file) # 내용 입력(새로운 내용 입력시마다 자동으로 줄바꿈된다.)
print("짬뽕 가격 6,000원", file=menu_file)
menu_file.close # 파일 닫기
# 파일 이어서 쓰기 (위와 다르게 파일을 덮어쓰지 않고 이어서 작성한다.)
menu_file = open("menu.txt", "a", encoding="utf8") # 파일 열기, "a"
menu_file.write("볶음밥 가격 5,000원\n") # 내용 입력(수동으로 줄을 바꿔주어야 한다.)
menu_file.write("탕수육 가격 12,000원")
menu_file.close() # 파일 닫기
# 전체 파일 읽기
menu_file = open("menu.txt", "r", encoding="utf8") # 파일 열기, "r"
print(menu_file.read())
menu_file.close
# 파일 한 줄씩 불러와서 읽기
# print(menu_file.readline())를 한 번 실행할 때 마다 다음 줄을 출력한다.
menu_file = open("menu.txt", "r", encoding="utf8")
print(menu_file.readline())
print(menu_file.readline())
print(menu_file.readline())
print(menu_file.readline())
menu_file.close()
# 한 줄씩 모두 불러와서 읽기
# 반복문을 통해 한 줄씩 불러오며, 더이상 줄이 없을 경우 break한다.
menu_file = open("menu.txt", "r", encoding="utf8")
while True:
line = menu_file.readline()
if not line :
break
print(line)
menu_file.close()
# 리스트에 저장 후 불러오기.
menu_file = open("menu.txt", "r", encoding="utf8")
lines = menu_file.readlines() # 리스트로 저장된다.
for line in lines :
print(line)
menu_file.close()
# 라이브러리 불러오기
import pickle
# 피클 파일 생성
#w는 쓰기, b는 바이너리를 의미, 피클은 항상 바이너리 타입을 정의해야 한다.
menu_file = open("menu.pickle", "wb")
# 저장할 데이터 생성
menu = {"짜장면":5000, "짬뽕":6000, "탕수육":{"소":12000, "중":16000, "대":20000}}
# 데이터를 피클 파일에 저장
# menu(사전)를 menu_file(피클)에 저장한다.
pickle.dump(menu, menu_file)
# 피클 닫기
menu_file.close()
# 피클 파일에서 데이터 불러오기
# 피클 파일 열기
menu_file = open("menu.pickle", "rb")
# 피클에 저장된 데이터를 불러와서 menu에 저장
menu = pickle.load(menu_file)
# 피클 닫기
menu_file.close()
# 단 두 줄 만으로 이전에 만든 피클파일을 불러오고 닫을 수 있다.
with open("menu.pickle", "rb") as menu_file :
print(pickle.load(menu_file))
# txt도 마찬가지.
with open("menu.txt", "r", encoding="utf8" as menu_file :
print(menu_file.read())
- n 주차 주간보고 -
부서 :
이름 :
업무 요약 :
for report in range(1, 3) :
with open(f"{report}주차.txt", "w", encoding="utf8") as report_file :
report_file.write(f"- {report} 주차 주간보고 - \n")
report_file.write("부서 :\n")
report_file.write("이름 :\n")
report_file.write("업무 요약 :")