ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기본 공부한것 3
    카테고리 없음 2022. 6. 26. 16:47

    8-1표준 입출력

    # 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=":")
    
    # 은행 대기순번표
    #  001, 002, 003,...
    # for num in range(1, 21):
    #     print("대기번호 : " + str(num).zfill(3))
    
    # answer= input("아무 값이나 입력하세요 : ")
    answer=10
    print(type(answer))
    # print("입력하신 값은 " + answer+ "입니다.")

    결과값

    Python Java
    Python Java
    파이썬워크페이스/practice.py
    수학 0
    영어 50
    코딩 100

    수학      :   0
    영어      :  50
    코딩      : 100

    대기번호 : 001
    대기번호 : 002
    대기번호 : 003
    대기번호 : 004
    대기번호 : 005
    대기번호 : 006
    대기번호 : 007
    대기번호 : 008
    대기번호 : 009
    대기번호 : 011
    대기번호 : 012
    대기번호 : 013
    대기번호 : 015
    대기번호 : 016
    대기번호 : 017
    대기번호 : 019
    대기번호 : 020
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> & C:/Python310/python.exe c:/Users/김동훈/Desktop/아무 값이나 입력하세요 : & C:/Python310/python.exe c:/Users/김동훈/Desktop/파이썬워크페이스/practice.py
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> & C:/Python310/python.exe c:/Users/김동훈/Desktop/아무 값이나 입력하세요 : 10
    입력하신 값은 10입니다.

    <class 'str'>
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> & C:/Python310/python.exe c:/Users/김동훈/Desktop/파이썬워크페이스/practice.py
    <class 'int'>
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

     

    다양한 출력포멧

    #빈 자리는 빈공간으로 두고, 오른쪽 정렬을 하되, 총 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))

    결과값

           500
          +500
          -500
    500_______
    100,000,000,000
    +100,000,000,000
    100,000,000,000
    +100,000,000,000^^^^^^^^^^^^^^
    1.666667
    1.67
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

     

    파일입출력

    # score_file= open("score.txt", "w", encoding="utf8")
    # print("수학 : 0", file=score_file)
    # print("영어 : 50", file=score_file)
    # score_file.close()
    
    # score_file= open("score.txt", "a", encoding="utf8")
    # score_file.write("과학 : 80")
    # score_file.write("\n코딩 : 100")
    # score_file.close()
    
    # score_file=open("score.txt", "r", encoding="utf8")
    # print(score_file.read())
    # score_file.close()
    
    # 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")
    # while True:
    #     line=score_file.readline()
    #     if not line:
    #         break
    #     print(line, 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()

    결과값

    수학 : 0
    영어 : 50
    과학 : 80
    코딩 : 100
    PS C:\Users\김동훈\Desktop\파이썬워크페이스>

     

    pickle

    import pickle
    # profile_file= open("profile.pickle", "wb")
    # profile = {"이름": "박명수", "나이":30, "취미":["축구", "골프", "코딩"]}
    # print(profile)
    # pickle.dump(profile, profile_file) #프로필에 있는 정보를 파일에 저장
    # profile_file.close()
    
    profile_file= open("profile.pickle", "rb")
    profile= pickle.load(profile_file) #file에 있는 정보를 프로필에 불러옴
    print(profile)
    profile_file.close()

    결과값

    {'이름': '박명수', '나이': 30, '취미': ['축구', '골프', '코딩']}
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> & C:/Python310/python.exe c:/Users/김동훈/Desktop/파이썬워크페이스/practice.py
    {'이름': '박명수', '나이': 30, '취미': ['축구', '골프', '코딩']}
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

     

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

    파이썬을 열심히 공부하고 있어요.
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

     

    퀴즈

    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업무 요약 :")

    ?주차 주간 보고 파일이 50개 생김

    내용물은 

    부서:

    이름:

    업무 요약:

     

     

    클래스

    #마린: 공격 유닛, 총을 쏠 수 있음
    name = "마린" #유닛의 이름
    hp = 40 #유닛의 체력
    damage = 5 #유닛의 공격력
    
    
    print("{0}유닛이 생성되었습니다.".format(name))
    print("체력 {0}, 공격력 {1}\n".format(hp, damage))
    
    #탱크 : 공격 유닛, 탱크. 포를 쏠 수 있는데, 일반 모드/ 시즈 모드.
    tank_name="탱크"
    tank_hp= 150
    tank_damage= 35
    
    print("{0}유닛이 생성되었습니다.".format(tank_name))
    print("체력 {0}, 공격력 {1}\n".format(tank_hp, tank_damage))
    
    tank_name2="탱크"
    tank_hp2= 150
    tank_damage2= 35
    
    print("{0}유닛이 생성되었습니다.".format(tank_name))
    print("체력 {0}, 공격력 {1}\n".format(tank_hp, tank_damage))
    
    def attack(name, location, damage):
        print("{0} : {1} 방향으로 적군을 공격합니다. [공격력 {2}".format(name, location,damage))
    
    attack(name, "1시", damage)
    attack(tank_name, "1시", tank_damage)
    attack(tank_name2, "1시", tank_damage)

    결과값

    마린유닛이 생성되었습니다.
    체력 40, 공격력 5

    탱크유닛이 생성되었습니다.
    체력 150, 공격력 35

    탱크유닛이 생성되었습니다.
    체력 150, 공격력 35

    마린 : 1시 방향으로 적군을 공격합니다. [공격력 5
    탱크 : 1시 방향으로 적군을 공격합니다. [공격력 35
    탱크 : 1시 방향으로 적군을 공격합니다. [공격력 35
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

    class Unit:
        def __init__(self, name, hp, damage):
            self.name= name
            self.hp=hp
            self.damage=damage
            print("{0} 유닛이 생성 되었습니다.".format(self.name))
            print("체력 {0}, 공격력{1}".format(self.hp, self.damage))
    
    marine1=Unit("마린", 40, 5)
    marine2=Unit("마린", 40, 5)
    tank=Unit("탱크", 150, 35)

    결과값

    마린 유닛이 생성 되었습니다.
    체력 40, 공격력5
    마린 유닛이 생성 되었습니다.
    체력 40, 공격력5
    탱크 유닛이 생성 되었습니다.
    체력 150, 공격력35
    PS C:\Users\김동훈\Desktop\파이썬워크페이스> 

Designed by Tistory.