ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [부스트코스] 모두를 위한 파이썬(PY4E) 4주차 문자열,파일
    PYTHON/부스트코스 PY4E 2022. 9. 22. 20:16
    728x90

    4주차는 6. 문자열과 07.파일에 대해 학습했다

    06. <문자열>

    핵심 키워드 미리보기

    문자열 읽기

    타입변환

    인덱싱

    for루프

     

    문자열 읽기

    코드를 한줄씩 해석하면,

    name = 이름을 입력해라

    type을 알려줘라

    name을 출력해라

     

    문자열 인덱싱하기

     

    인덱싱할 때 번호는 0부터 차례로 나가기 때문에

    [0]은 첫글자b

    [1]은 두번째글자 a

    [2]는 세번째글자 n이 나온다 

     

    for 루프

    for 루프를 사용해서 원하는만큼 문자열을 출력가능하다

    0보다 글자개수가 많을 때 글자를 출력하고 몇번째 숫자인지도 같이 출력해준다

     

    문자열 슬라이싱

    python 글자 인덱싱하기

    p는 [0]

    y는 [1]

    t는 [2]

    h는 [3]

    o는 [4]

    n은 [5]

    0~5까지이고 총 개수는 6개이므로 len은 6

     

    문자열 합치기

    문자열은 + 기호를 사용해서 값을 합칠 수 있다

    'Hello ' + 입력받은 이름

    => Hello 이름

     

     

    in 을 논리 연산자로 사용하기 

    있는지 없는지 확인 후 있으면 True 없으면 False 

    Strip 메소드

    lstrip(): 왼쪽 공백 제거

    rstrip(): 오른쪽 공백 제거

    strip(): 오른쪽 왼쪽 공백 제거

     

     

    시작문자열 찾기

    startswith 메서드를 사용해서 특정문자열로 시작하는지 파악할 수 있다

    해당 시, True 아니면, False를 출력함

     

    07. <파일>

    핵심 키워드 미리보기

    open()

    개행문자

    counting

    open()

    fhand = open('hello.txt', 'r')

    # open('파일명입력', '모드 선택')

    # 1. 파일명 입력

     파일명은 문자열 타입으로 입력하며, 확장자까지 포함시켜 줍니다.

     

    # 2. 모드 선택

    모드에서는 w 또는 r 두가지를 선택할 수 있습니다.

    'w'는 파일을 작성할 때 사용하며, 'r'은 파일을 읽을 때 사용합니다.

     

    개행문자 \n

    \n도 하나의 문자열

    len()를 사용하면 \n도 1개로 세어줌

    엔터 역할을 하는 공백이라 생각하면 됨

    '' 사이에 공백을 넣어줘도 공백이 생기고 \n을 사용해도 공백이 생긴다

    len함수를 이용하면 길이를 알 수 있다

     

    counting

    counting을 쓰면 개수를 찾을 수 있다

     

    사실 7강의 경우는 파일을 직접 읽어들여서 실습하는 내용이 주를 이루기 때문에 다운받은 파일을 이용해서 직접 강의를 들으면서 실습하는 것이 좋다 

     

     

    4주차 미션

    해당주차는 visual studio code를 사용해서 colab링크는 없습니다

     

    📌Q1. 우리는 큰 수를 나타낼 때 3자리마다 , 를 찍어서 구분해 줍니다.

    파이썬에서는 아래와 같이 쉽게 나타낼 수 있습니다.

    더보기

    num = int(input("숫자를 입력하세요")) #숫자입력받기
    print(format(num,',')) #3자리마다 점 찍기

    📌Q2. 어느 날 여러분이 어떤 글을 읽고 있는데, 갑자기 특정 글자가 전체 글에서 몇 개 들어있는지 궁금해졌습니다.

    그럼 한 번 파이썬 함수로 만들어 봅시다.

    더보기

    fhand = open('C:\\python\\boost_week4\\hi.txt', 'rt', encoding='UTF8') #한글문서 변환하기

    count = 0 #count변수 초기화
    for f in fhand: #fhand 중 f를 찾아라
        count += 1 #f를 찾으면 count에 1을추가해라 
    print("f:",count) #출력값

    hi.txt
    0.01MB

     

    📌Q3. 요즘 식당에 들어가면 방명록을 적게 되어있습니다.

    어느 식당의 사장님이 여러분에게 방명록을 주면서 전화번호를 제대로 적었는지 검사해달라는 부탁을 했습니다.

    아래와 같은 방명록이 있을 때 방명록을 잘 못쓴 사람의 이름과 잘못된 번호를 출력하는 함수를 만들어 봅시다.

     

    3번 문제는 에러가 나서 당시에 시간이 없어서 에러가 있는채로 그대로 제출했습니다

    그래서 코드는 별도로 기입하지는 않겠습니다

     

    📌Q4.  주민등록번호의 앞 6자리는 생년월일이고 뒷자리의 시작번호는 성별을 나타냅니다. 주민등록번호를 입력하면 몇년 몇월 생인지 그리고 남자인지 여자인지 출력하는 함수를 만들어 봅시다.

     

    코딩도장 참고

    더보기

    # Q4. 주민번호
    sure = ("2000년 이후 출생자 입니까? 맞으면o 아니면x:") #2000년대 이후 태어났는지 물어보기 코드
    num = input("주민등록 번호(-) 포함해서 입력하세요:")#주민번호 입력받기
    year = num[:2] #태어난 연도의 범위
    month = num[2:4] #태어난 달의 범위
    sex = num[7] #성별
        
    if year >= "00" and year <= "22": #00년생부터 22년생까지 범위는 성별이 3,4로 표시됨
        print(input(sure)) #2000년대 이후 태어났는지 물어보기
        if sure == "o": #o라고 대답한 사람 중 남녀 구분
            if sex == "3":
                sex = "남자"
            elif sex == "4":
                sex = "여자"    
        elif sure == "x":#x라고 입력한 사람은 잘못입력했다고 알려주기
            print("잘못입력하셨습니다")
            print("다시입력하세요")
    else:  #2000년 전에 태어난 사람의 경우
        if sex == "1": #1은 남자
            sex = "남자" 
        else: #2는 여자
            sex = "여자"        
    print("\n생년월일 : {0}년 {1}월 {2}입니다".format(year, month, sex)) #최종 출력값

    mission4.py
    0.00MB

    <06.문자열 강의 들으러 가기>

    https://www.boostcourse.org/cs122/lecture/315091?isDesc=false 

     

    모두를 위한 파이썬 (PY4E)

    부스트코스 무료 강의

    www.boostcourse.org

    <07. 파일 강의 들으러 가기>

    https://www.boostcourse.org/cs122/lecture/315099?isDesc=false 

     

    모두를 위한 파이썬 (PY4E)

    부스트코스 무료 강의

    www.boostcourse.org

    <오늘 올린 코드 자료>

    https://colab.research.google.com/drive/1axmviw78erZDdwmkr9ZVWfgjKVGe5ezi?usp=sharing 

     

    부스트코스 py4e 4주차

    Colaboratory notebook

    colab.research.google.com

     

Designed by Tistory.