ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 44 - join() 함수
    study with Q - 파이썬 2024. 5. 24. 18:59

    숫자를 입력하면 짝/홀수를 구분하는 코드

    num = int(input("정수를 입력하시오: "))
    
    if num % 2 == 0:
      print(f"입력한 문자열은 {num}입니다.\n{num}은(는) 짝수입니다")
    
    else :
      print(f"입력한 문자열은 {num}입니다.\n{num}은(는) 홀수입니다")

     

    줄바꿈 \n을 쓰지 않고 줄바꿈을 하면

    num = int(input("정수를 입력하시오: "))
    
    if num % 2 == 0:
      print(f"""\
        입력한 문자열은 {num}입니다.
        {num}은(는) 짝수입니다""")
    
    else :
      print(f"""\
        입력한 문자열은 {num}입니다.
        {num}은(는) 홀수입니다""")
    >>> 정수를 입력하시오: 24
          입력한 문자열은 24입니다.
          24은(는) 짝수입니다

     

    앞에 띄어쓰기가 들어감🧐

    코드가 지저분해지지 않으면서 들여쓰기도 없앨 수는 없나?

     

    # 방법 1 : 소괄호로 감싸기

    : 소괄호로 감싸게 되면 코드 내에 개행이 있어도 하나의 문자열로 인식하게 된다.

    eg) print함수처럼 이미 소괄호로 되어 있는건 소괄호 하나만 입력해도 됨

    print((
        "배"
        "고"
        "파"
    ))
    >>> 배고파
    
    print(
        "배"
        "고"
        "파"
    )
    >>> 배고파

     

    그래서...

    number = int(input("정수를 입력하시오: "))
    
    if number % 2 == 0:
      print((
        f"입력한 문자열은 {num}입니다.\n"
        f"{num}은(는) 짝수입니다"
      ))
      >>> 
    정수를 입력하시오: 124
    입력한 문자열은 124입니다.
    124은(는) 짝수입니다

     

    ※ 근디 얘는 파이썬에서만 사용되고 매우 매니악한 입력방식이라서 사용성이 떨어짐

     

    # 방법 2 : join() 함수 사용하기

    : 문자열.join([문자열로 입력된 리스트])

     

    뭐 다양하게 확인해보슈

    더보기
    print("".join([
      "1",
      "2",
      "3"
    ]))
    >>> 123
    print(",".join([
      "1",
      "2",
      "3"
    ]))
    >>> 1,2,3
    print("||".join([
      "1",
      "2",
      "3"
    ]))
    >>> 1||2||3

    그래서...

    number = int(input("정수를 입력하시오: "))
    
    #join()를 사용해서 해경
    else :
      print("\n".join([
        f"입력한 문자열은 {number}입니다.",
        f"{number}은(는) 홀수입니다"
      ]))
    >>>
    정수를 입력하시오: 13
    입력한 문자열은 13입니다.
    13은(는) 홀수입니다

     

     

    #활용 예

    더보기
    A = [
      #데카르트 평면 위에서
      #사각형의 왼쪽 아래 좌표가 (x1, y1)
      #사각형의 오른쪽 위 좌표가 (x2, y2)
      #[x1, y1, x2, y2]
      [3,2,8,5],
      [-6,-3,4,1],
      [5,-1,13,2]
    ]
    
    
    for a in A :
      print(f"{a[0]},{a[1]},{a[2]},{a[3]}")
    
    #실행결과
    # 3,2,8,5
    # -6,-3,4,1
    # 5-1,13,2

     

    이렇게 되면 리스트가 커지면 계속 print에 추가되어야 하는 불편함이 따름

     

    A = [
      [3,2,8,5],
      [-6,-3,4,1],
      [5,-1,13,2]
    ]
    
    for a in A :
      print(",".join(a))

    > 아니 근디 str이 아니잖아

    > 그럼 지난 강의에서 배운 리스트 내포를 써보자

     

    A = [
      [3,2,8,5],
      [-6,-3,4,1],
      [5,-1,13,2]
    ]
    
    for a in A :
      # [표현식 for 반복문]
      a = [str(요소) for 요소 in a]
      print(",".join(a))
    >>>
    3,2,8,5
    -6,-3,4,1
    5,-1,13,2

     

    > 이건 리스트에 요소가 추가되도 바로 적용되서 편함

     

    https://replit.com/@wh3308/join#main.py

    'study with Q - 파이썬' 카테고리의 다른 글

    46-48 - 4강 도전 문제 외  (0) 2024.06.02
    45 - 4-4절 확인 문제  (0) 2024.05.28
    43 - 리스트 내포  (0) 2024.05.22
    42 - 리스트, 딕셔너리 함수  (1) 2024.05.01
    41 - 4-3절 확인문제  (0) 2024.04.27
Designed by Tistory.