Programming

[혼공파] Data type

곰나루_ 2023. 12. 14. 21:12

● 1. 자료형과 문자열 / 2. 숫자

  • 문자열 (string) : 따옴표로 감싸 입력
  • 숫자 : 정수 (integer), 실수 (floating point)
  • 불 (boolean) : True / False

연산자 (operator) 사용시, 문자열은 문자열끼리, 숫자는 숫자끼리 사용해야 한다. (위반시 TypeError)

 

- String Operators

  의미 입력 출력
+ 연결 print("안녕" + "하세요") 안녕하세요
* 반복 print("안녕하세요" * 3) 안녕하세요안녕하세요안녕하세요
[ ] 문자 하나 선택 (indexing) print("안녕하세요"[0]) 안     #파이썬은 zero index     #IndexError 주의
[:] 문자 범위 선택 (slicing) print("안녕하세요"[1:4])
print("안녕하세요"[ :3])
녕하세    #마지막 숫자 불포함
안녕하

 

 

3. 변수와 입력

input() 함수의 결과는 항상 string type이므로, 숫자로 변환(cast)해야 숫자 연산이 가능하다.

이때 int(), float() 함수를 사용한다. (다만, 숫자가 아닌 것을 변환하려고 할때는 ValueError)

 

- [예제 p.125]   inch 단위를 cm 단위로 변경하기

raw_input = input("inch 단위의 숫자를 입력해주세요> ")

inch = int(raw_input)  # 입력 데이터를 int type으로 변경
cm = inch * 2.54

print(inch, "inch는 cm 단위로", cm, "cm입니다.")

 

 

4. 숫자와 문자열의 다양한 기능

  • "{ } { } { }".format() : data type 제약 없이 문자열 { }에 데이터 ( ) 삽입 가능 ({}가 매개변수보다 많으면 IndexError)
  • f "str {exp}str" : 위 함수보다 간단하게 문자열에 데이터 삽입 가능 (단, 문자열 내용이 많거나, data를 list에 담아 사용할 때는 format() 함수가 낫다.)
  • upper(), lower() : 대소문자 변환
  • strip() : 문자열 양 옆의 공백 제거
  • is___() : 문자열 구성 파악
  • find(), rfind() : 문자열 찾기
  • in 연산자 : 문자열 내부에 어떤 문자열이 있는지 확인
  • split() : 문자열을 잘라 list로 만들기

 

- [도전문제 p.152]  구의 부피와 겉넓이

 

풀이 1

r = input("구의 반지름을 입력해주세요:")
int_r = int(r)

print("= 구의 부피는", 4/3*3.141592*int_r**3, "입니다.")
print("= 구의 겉넓이는", 4*3.141592*int_r**2, "입니다.")

 

 

풀이 2 - format() 함수 활용

r = input("구의 반지름을 입력해주세요:")
int_r = int(r)

vol_area = """\
    = 구의 부피는 {} 입니다.
    = 구의 겉넓이는 {} 입니다.\
    """.format(4/3*3.141592*int_r**3, 4*3.141592*int_r**2)

print(vol_area)

 

 

풀이 3 - f-string 활용

r = input("구의 반지름을 입력해주세요:")
int_r = int(r)

vol_area = f"""\
    = 구의 부피는 {4/3*3.141592*int_r**3} 입니다.
    = 구의 겉넓이는 {4*3.141592*int_r**2} 입니다.\
    """

print(vol_area)

 

 

풀이 4 - 정답지

pi = 3.141592
r = float(input("구의 반지름을 입력해주세요: "))

vol = (4/3) * pi * (r**3)
area = 4 * pi * (r**2)

print(f"= 구의 부피는 {vol}입니다.")
print(f"= 구의 겉넓이는 {area}입니다.")

 

★ Self Feedback

  1. pi 같은 복잡한 숫자는 앞에서 미리 변수 설정 해놓자.
  2. input 값으로 정수가 아닌 값이 들어올 수 있기 때문에, int가 아닌 float를 사용하자.
  3. input 값을 바로 float로 처리하면 깔끔하다.

'Programming' 카테고리의 다른 글

git  (0) 2024.01.14
[혼공파] Iteration  (1) 2023.12.31
[혼공파] Conditional  (1) 2023.12.15
[생활코딩] CSS  (1) 2023.11.27
[생활코딩] HTML & Internet  (1) 2023.10.28