본문 바로가기

Python/공부

기본편: 입출력

728x90
반응형
## 표준입출력
# - sep = "" : sep부분을 추가하면 출력 각각의 값들을 표현할 수 있다. ex) python java => python,java 
# - end = "" : end부분을 추가하면 다음 print문이 있을 경우 줄바꿈 없이 연달아 한줄로 나오게 한다. 또한 문장의 끝부분을 표현할 수 있다.
# print("Python" , "Java", sep=",", end="?")
# print("무엇이 더 재밌을까요?")

# import sys
# print("Python" , "Java", file= sys.stdout)
# print("Python" , "Java", file= sys.stderr)

# # 시험 성적 
# scores = {"수학":0, "영어":50, "코딩":100}
# for subject, score in scores.items():
#     # print(subject, score)
#     print(subject.ljust(8), str(score).rjust(4), sep=":")  # .ljust(숫자) : 숫자만큼 왼쪽정렬 | .rjust(숫자) : 숫자만큼 오른쪽정렬

# 은행 대기순번표 
# 001, 002, 003, ... 
# for num in range(1, 21):
#     print("대기번호 :" + str(num).zfill(3))  # .zfill(숫자) : 빈공간을 숫자만큼 '0'으로 채운다

# answer = input("아무 값이나 입력하세요 :")  # 사용자 입력을 통해서 값을 받게 되면 항상 문자열 형태로 저장된다.
# answer = 10
# print(type(answer))
# print("입력하신 값은" + answer + "입니다.") 


## 다양한 출력포맷 
# 빈 자리는 빈공간으로 두고, 오른쪽 정렬을 하되, 총 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(100000000000))
# # 3자리 마다 콤마를 찍어주기, +- 부호도 붙이기 
# print("{0:+,}".format(100000000000))
# print("{0:+,}".format(-100000000000))
# # 3자리 마다 콤마를 찍어주기, 부호도 붙이고, 자릿수 확보하기
# # 돈이 많으면 행복하니까 빈자리는 ^표시로 채워주기 
# print("{0:^<+30,}".format(100000000000))
# # 소수점 출력
# print("{0:f}".format(5/3))
# # 소수점 특정 자리수 까지만 표시 (소수점 3째 자리에서 반올림)
# print("{0:.2f}".format(5/3))


## pickle
# - 프로그램 상에서 우리가 사용하고 있는 데이터를 파일 형태로 저장을 해주는 것 
#   파일을 누군가에게 주면 그사람이 파일을 열어서(pickle을 이용해서) 안에 있는 데이터를 가져와서 코드에서 또 쓸 수 있다.
# - 인코팅 따로 정의할 필요 없음 
# - 피클을 쓰기 위해선 항상 바이너리타입을 정의해야 한다.

# import pickle
# profile_file = open("profile.pickle", "wb")   # wb : write & 바이너리
# profile = {"이름": "박명수", "나이":30, "취미":["축구", "골프", "코딩"]}
# 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
# import pickle
# with open("profile.pickle", "rb") as profile_file:
#     print(pickle.load(profile_file))

# -> 따로 열었던 파일에 대해서 close 할 필요가 없이 자동으로 with문을 종료해준다.

# 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())



# Quiz) 당신의 회사에서는 매주 1회 작성해야 하는 보고서가 있습니다.
#       보고서는 항상 아래와 같은 형태로 출력되어야 합니다. 

# - X 주차 주간보고 - 
# 부서 : 
# 이름 :
# 업무 요약 : 

# 1주차부터 50부차까지의 보고서 파일을 만드는 프로그램을 작성하시오.

# 조건 : 파일명은 '1주차.txt', '2주차.txt', ... 와 같이 만듭니다. 


# with open("1주차.txt", "w", encoding="utf8") as quiz_file: 
#     quiz_file.write("- X 주차 주간보고 -")
#     quiz_file.write("부서 :")
#     quiz_file.write("이름 :")
#     quiz_file.write("업무 요약 :")


# *** 풀이방법 ***
# 1) 1주차부터 50부차까지의 보고서 파일
for i in range(1, 51): 
    with open(str(i) + "주차.txt", "w", encoding="utf8") as report_file:
        report_file.write("- {0} 주차 주간보고 -".format(i))
        report_file.write("\n부서 :")
        report_file.write("\n이름 :")
        report_file.write("\n업무 요약 :")

 

 

참고

- 나도코딩(기본편)

728x90
반응형

'Python > 공부' 카테고리의 다른 글

활용편1 : 기본기  (0) 2022.05.27
기본편 : 예외처리  (0) 2022.05.26
기본편 : 함수  (0) 2022.05.24
기본편: 제어문(if, for, while)  (0) 2022.05.24
기본편 : 자료구조  (0) 2022.05.23