본문 바로가기

😀 기초/파이썬(Python)

2장 파이썬 기초문법(2.2장 ~ 2.7장)

2.3 파이썬 글자를 출력하기

 

1. 한줄 띄우기 (\n)

  •  
  • print("한 줄 쓰고\n그 다음 줄을 쓴다.") # 결과 : # 한 줄 쓰고 # 그 다음 줄을 쓴다.

2. 줄을 바꾸지 않고 이어서 출력하기 (end="")

print("한 줄 쓰고", end="")
print("이어서 쓴다.")

# 결과 : 한 줄 쓰고이어서 쓴다.

3. 문자열 치환 ( replace)

  • 문자열에서 특정 문자를 다른 문자로 바꾸려면 replace 메서드 사용
  • "2022.01.23".replace(".","-")
    # 결과 : '2022-01-23'
  • 문자열 공백을 없애래면 " " 공백 문자열을 "" 빈 문자열로 바꾸면 된다.
  • "word with spcae".replace(" ","")
    # 결과 : 'wordwithspcae'

2.4 파이썬의 문자열 형식화

 

1. % 기호를 사용한 문자열 형식화

  • 형식지정 문자열  |  의미   
               %s        | 문자열   
               %d       |  정수   
               %f        | 부동소수점 실수   

2. 고급 형식지정 문자열

  • %20s : 전체 20칸을 차지하는 문자열(공백을 앞에 붙임)
  • %-10d : 전체 10칸을 차지하는 숫자(공백을 뒤에 붙임)
  • %.5f : 부동소수점의 소수점 아래 4자리까지 표시
  •  
  • "[%20s]" % "*" # 문자열 "*" 사이 앞에 20칸 공백 # 결과 : '[ *]' "[%-20s]" % "A" # 문자열 "A" 사이 뒤에 20칸 공백 # 결과 : '[A ]' "[%20d]" % 123 # 숫자 123 사이 앞에 20칸 공백 # 결과 : '[ 123]' x = 1 / 3.0 # 값은 0.33333.. "%.5f" % x # 소수점 아래 5자리까지만 인쇄 # 결과 : '0.33333' "[%-20d]" % 123 # 20칸의 공백의 앞쪽에 123을 인쇄 # 결과 : '[123 ]'

3. format 메서드를 사용한 문자열 형식화

"내 이름은 {} 입니다.".format("홍길동")
# 결과 : '내 이름은 홍길동 입니다.'


# {} 안에는 값의 순서를 지정할 수 있다
# 가장 앞에 있는 값은 {0} 그다음 {1}
"{2}의 {0} 점수는 {1}점입니다. {1}점! {1}점!".format("수학", 100, "철수")
# 결과 : '철수의 수학 점수는 100점입니다. 100점! 100점!'

# 숫자 대신 인수 이름을 지정할 수 있음
"{a}점수: {x}점, {b}점수: {y}점".format(a="영어", b="수학", x=100, y=90)
# 결과 : '영어점수: 100점, 수학점수: 90점'

4. 고급 형식지정 문자열

  • %20s : 전체 20칸을 차지하는 문자열(공백을 앞에 붙임)
  • %-10d : 전체 10칸을 차지하는 숫자(공백을 뒤에 붙임)
  • %.5f : 부동소수점의 소수점 아래 4자리까지 표시

5. format 메서드를 사용한 문자열 형식화

    • 만약 > 기호 앞에 문자열을 쓰면 해당 문자열을 채움
    • {:*>10}
      전체 10칸을 차지하며 “*”을 앞에 붙임 (문자열을 오른쪽에 붙여서 출력)

      {:*<10}
      전체 10칸을 차지하며 “*”을 뒤에 붙임 (문자열을 왼쪽에 붙여서 출력)

      {:*^10}
      전체 10칸을 차지하며 “*”을 앞뒤에 붙임 (문자열을 중앙에 붙여서 출력)

6. format 또 다른 특징은 {}안에 리스트나 시전의 인덱싱 할 수 있다.

x = [10, 11, 12]
"리스트의 첫번째 원소={0[0]}".format(x)
# 결과 : '리스트의 첫번째 원소=10'

y = {'a': 10, "b": 11, "c": 12}
z = {"가": 13, "나": 14, "다": 15}
"사전의 a키 값={0[a]}".format(y)
# 결과 : '사전의 a키 값=10'

7. f 문자열

name = "김가나"
age = 32
print(f"{name}의 나이는 {age}이다.")
# 결과 : 김가나의 나이는 32이다.

2.5 파이썬 조건문 기초

 

1. if ~ else 명령문

2. if ~ elif ~else 명령문

# 연습문제

input_data = int(input("수박 무게를 입력: "))
if input_data > 10:
    print("1등급")
elif input_data > 7:
    print("2등급")
elif input_data > 4:
    print("3등급")
else:
    print("4등급")
    
    print(input_date)
    
# 결과 :
수박 무게를 입력: 6
3등급

3. 중첩 조건문 : 조건문 안에 조건문이 포함된 형태

if 조건1:
    조건1이 참일 경우 실행되는 명령
    if 조건2:
        조건1과 조건2가 모두 참일 때 실행되는 명령
    else:
        조건1은 참이고 조건2는 거짓일 때 실행되는 명령
else:
    조건1이 거짓일 때 실행되는 명령

2.6 파이썬 함수

 

1. 함수

def 함수이름(입력변수이름):
    출력변수를 만드는 명령
    return 출력변수이름

------------------------------

def twotimes(x):
    y = 2 * x
    return y
    

twotimes(2)
# 결과 : 4

2. 입력이 여러 개인 함수

def 함수이름(입력변수1, 입력변수2, 입력변수3):
    출력변수를 만드는 명령
    return 출력변수 이름
    
---------------------------------------

def add(x, y):
    return x + y
    
add(1, 2)
# 출력 : 3

3. 람다 함수 : 함수에 이름을 주지 않거나 코드를 짧게 줄여쓰는 방법

def f(x):
    return 2 * x

# 함수 f에 변수 x가 들어옴
# 그곳에서 2 * x 기능을 함

----------------------------

f = lambda x : 2 * x

f(2)
# 출력 : 4

4. 지연 변수 : 함수 안에서 만들어지는 지역 변수는 함수 바깥에 영향을 주지 않음

5. 전역 변수(gloval variable) : 함수 바깥에서 만들어진 변수


2.7 파이썬 for 반복문

 

1. 반복문

for 카운터변수 in range(반복횟수):
    반복해서 실행할 명령
    
    ===================================
    
    for i in range(10):
    print(i)
    
# 0부터 시작해서 9까지 10번 반복해줘

2. 중첩 for  반복문

# 아래 숫자를 출력한다고 가정
0 1 2 3 
1 2 3 4 
2 3 4 5 
3 4 5 6 

==================================================

# 중첩 반복문을 사용할 떄는 변수 이름이 겹치지 않도록 주의

for i in range(3 + 1):
    for j in range(3 + 1):
        print(i + j, end=" ")
    print()
    
==================================================   

    # 경우의 수를 구하는데 중첩 반복문 사용
# 1부터 6까지 눈금이 있는 주사위를 두 번 던져서
# 나온 숫달은 다음과 같이 구함

for i in range(6):
    n1 = i + 1
    for j in range(6):
        n2 = j + 1
        print(n1, n2)
        
        
==================================================

 # 만약 주사위를 두 번 던져서 나온 숫자들의 
# 합이 4의 배수가 되는 경우만 구해야 한다면
# 다음과 같이 if 조건문을 추가한다.

for i in range(6):
    n1 = i + 1
    for j in range(6):
        n2 = j + 1
        n = n1 + n2
        if n % 4 == 0:
            print(n1, n2)

3. 카운터 변수가 변하는 경우

  • 반복문에서 가장 복잡한 형태는 안쪽 반복문의 반복 횟수가 바깥쪽 반복문의 카운터 변수에 따라 변하는 상황
  • 예를 들어 1부터 5까지의 합은 다음과 같은 하나 반복문으로 구현 가능

  • n = 5
    sum = 0
    for i in range(n):
        sum += i + 1
    print(sum)
    
    # 정답 : 15
    
    
    --------------------------------------------------
    
    - 1부터1까지의 합, 1부터 2까지의 합, 1부터 3까지의 합
    - 이런 식으로 1부터 10까지의 합을 모두 구해야 한다면
    - 다음과 같은 반복문을 중첩해야 함.
    
    for j in range(10):
        sum = 0
        for i in range(j + 1):
            sum = sum + (i + 1)
        print(sum)
        
    # 정답
    1
    3
    6
    10
    15
    21
    28
    36
    45
    55

2.7 파이썬 for 반복문

 

1. 반복문