1 life 2 live

파이썬 기초 프로그래밍(2) - 문자열 및 수학함수 그리고 연습문제와 정리[20.7.9] 본문

파이썬

파이썬 기초 프로그래밍(2) - 문자열 및 수학함수 그리고 연습문제와 정리[20.7.9]

대희투 2020. 7. 9. 20:48

1. 문자열

■ 문자열?

   º 문자의 열 (sequence)

   º 작은 따옴표 (‘’) 또는 큰 따움포 (“”)로 둘러쌓인 문자들

 

■ ASCII 코드

   º 알파벳, 숫자, 기호와 제어 문자로 구성된 7비트 이진수로 구성된 문자 인코딩 체계

      • 문자 인코딩: 문자를 이진수와 매핑하는 것

      • 0부터 127까지 사용

 

■ ASCII Table

 

■ UNICODE

   º 전 세계의 모든 문자들을 처리하기 위한 표준 문자 처리 방식

   º 2바이트의 16진수로 구성

 

■ ord()와 chr() 함수

   º ord(ch): 문자 ch에 대한 UNICODE 숫자를 반환

   º chr(code): UNICODE 숫자에 대한 문자를 반환

 

■ ASCII ↔ 문자

 

■ UNICODE ↔ 문자

 

■ 문자열 : 특수 문자 (Escape code) → 특수 표기를 위하여 미리 정의된 문자 조합

 

■문자열의 덧셈

   º ‘+’ 연산을 이용하여 문자열을 연결 할 수 있다!

   º 복합 연산자도 적용 가능

 

■ 문자열의 곱셈

   º ‘*’ 연산을 이용하여 문자열을 반복 할 수 있다!

   º 복합 연산자도 적용 가능!

 

■ 실습1) 아래와 같은 문자열을 출력해 보시오!

   º 단, 1줄짜리 코드여야 함!

   º 특수 문자와 문자열 덧셈/곱셈 연산을 활용 할 것

  ↓ 정답

더보기

정답 : print('*\t'*6+"\nPython 기초 프로그래밍\n"+'*'*21)

 

■ 실습2) 아래와 같이 동작하는 프로그램을 작성하시오!

   º 이 프로그램은 무조건 10살을 높게 이야기 해 준다!

   º 변수 활용!

  ↓ 정답

더보기

a = input("이름은?")
b = int(input("나이는?"))
print("오호라 10년 뒤", a,"님의 나이는", b+10,"이군요?")

 

■ 문자열 Formatting

   º 문자열의 출력 서식 설정

   º 문자열 내 문자열 대입

   º 문자열 내 숫자 대입

   º 문자열 내 2개 이상의 정보 대입

   º 포매팅: 서식 코드 + 값의 조합

   ex) %% 예제

 

■ 정렬과 자리수

   º 숫자 + 서식코드의 조합

   º 문자열의 정렬

      • %[폭]s

      • 예) %10s (10칸의 폭에 우측 정렬하여 출력)

      • 예) %-10s (10칸의 폭에 좌측 정렬하여 출력)

   º 숫자의 정렬

      • 정수, 실수 등

   º 정수의 정렬

      • %[폭]d

      • 예) %5d, %-5d

   º 실수의 정렬

      • %[폭][.소수점자리수]f

      • 예) %10.2f (10칸의 폭에 맞추어 우측 정렬 + 소수점 두 번째 자리까지 출력)

      • 예) %-10.3f (10칸의 폭에 맞추어 좌측 정렬 + 소수점 세 번째 자리까지 출력)

 

■ 문자열?

   º 다시, 문자열이란 “문자의 열”

   º 이 문자열의 특정 위치에 자리한 문자를 표현하고 싶다면?

   º 해당 위치를 표기하는 ‘인덱스’를 통하여 표현!

 

■ 문자열 인덱스

   º 문자열[인덱스]

      • 문자열의 ‘인덱스’ 위치에 자리하고 있는 문자를 표현

   º str[0], str[1]: str의 첫 번째, 두 번째 요소

   º str[-1], str[-2]: str의 끝에서 첫 번째, 끝에서 두 번째 요소

   º 요소의 개수를 벗어난 인덱스로 접근하면? -> 오류발생!

 

■ 문자열 슬라이싱 → 문자열 일부를 추출

   º Prog만 추출하여 출력하고 싶다면 어떻게 해야 할까?

    º 조금 더 간략한 방법은 없을까?

      • 문자열의 처음부터 4번째 위치까지 한번에 표시할 수 있는 방법?

   º 슬라이싱 방법 1 → 문자열[시작:종료]

      • 종료 인덱스 위치는 포함되지 않는다!

      • 예) str[0:4]: 0 ~ 3 까지 위치한 문자열을 추출

      • 예) str[4:10]: 4 ~ 9 까지 위치한 문자열을 추출

   º 슬라이싱 방법 2 → 문자열[:종료]

      • 종료 인덱스 위치는 포함되지 않는다!

      • 예) str[:10]: 문자열의 처음부터 9 까지 위치한 문자열을 추출

   º 슬라이싱 방법 3 → 문자열[시작:]

      • 예) str[4:] 문자열의 4 부터 끝까지 위치한 문자열을 추출

    º 예제) 각각 실행 결과를 확인해 봅시다!

 

2. 연습문제

■ 아래와 같이 동작하는 프로그램을 작성하시오!

   º 8자리 학번을 입력

   º 입학년도와 학생ID를 구분하여 출력!

   º 문자열 포맷팅과 슬라이싱 활용!

  ↓ 정답

더보기

a = input('학번을 입력하세요:')
b = a[0:4]
c = a[4:]
print('입학년도:%8s' %b)
print('입학년도:%8s' %c)

 

 

3. 정리

■ 문자열

   º 작은/큰 따옴표로 둘러쌓인 텍스트

   º +/* 연산을 이용하여 문자열의 손쉬운 연결이 가능하다!

   º 문자열 포맷팅을 통하여 입맛에 맞게 출력할 수 있다!

   º 인덱싱/슬라이스를 통하여 문자열의 일부를 취할 수 있다!

728x90
반응형
Comments