도슐랭스타
Python - input()함수와 연산자 본문
input() 함수
- 사용자에게 데이터를 입력받을 때 사용하는 함수
- 무조건 '문자열'로 저장된다 ( 다른 자료형으로 저장하고 싶으면 자료형 변환(= type() 함수)을 해야함! )
data = input("당신의 이름은? ") #이름을 입력하면 data에 문자열로 저장됨
num = int(input("숫자를 입력하세요. ")) #입력한 숫자가 num에 정수형으로 저장됨
연산자의 종류
- 산술 연산자 : 산술 연산을 한다 (+, -, *, /, //, %, **)
- 할당 연산자 : 오른쪽 값을 연산하여 왼쪽에 대입한다 (=, +=, -=, *=. /=, //=, %=, **=)
- 비교 연산자 : 크고 작음을 연산한다 (>, >=, <, <=, ==, !=)
- 논리 연산자 : 참과 거짓을 판별한다 (and, or, not)
피연산자
- 연산에 필요한 데이터, 연산의 대상 ex) sum = num1 + num2 에서 num1과 num2이 피연산자임
산술 연산자
- 덧셈 " + "
- 정수 + 실수 = 실수형(float)
- 문자열 + 문자열 (가능)
- 문자열 + 숫자 (불가능 => 에러 발생)
- 뺄셈 " - "
- 문자열은 뺄셈이 불가능! ( =>에러 발생 )
- 곱셈 " * "
- 문자열 * 양의 정수 = 곱한 숫자만큼 문자열 반복
- 문자열 * ( 0 또는 음의 정수 ) = ' ' (에러가 발생하지는 않음)
print("Hi " * 3) #출력-> Hi Hi Hi
print("Hello" * -1) #출력 -> ' '
- 나눗셈 " / "
- 문자열은 나눗셈 불가능! ( =>에러 발생 )
- 나머지가 없어도 항상 결과는 '실수형'으로 나온다
- 0은 뭘로 나눠도 0
- 0으로 나눌 수는 없다 ( =>에러 발생 )
- 나눗셈 나머지 " % "
print(10%3) #출력-> 1
- 나눗셈 몫 " // "
print(10//3) #출력-> 3
- 거듭제곱 " ** "
print(2**3) #출력-> 8
할당 연산자
- +=, -=, *=, /=, %=, //=, **= : 오른쪽에 있는 숫자를 왼쪽의 값과 계산해서 왼쪽에 넣는다
num = 10
num += 5
print(num) #출력-> 15
num -= 5
print(num) #출력-> 10
num *= 2
print(num) #출력-> 20
num /= 5
print(num) #출력-> 4.0
num %= 3
print(num) #출력-> 1.0
num = 10
num //= 3
print(num) #출력-> 3
num **= 2
print(num) #출력-> 9
비교 연산자
- ==, !=, >, >=, <, <= : 크고 작음을 연산한다
num1 = 5
num2 = 10
print(num1 == num2) #출력->False / "=="은 같으면 True, 다르면 False
print(num1 != num2) #출력->True / "!="은 다르면 True, 같으면 False
논리 연산자
- and 연산자( " & ", " and " ): 모두 True이면 True
- 앞부분이 False이면 뒷부분 연산 안 하고 False 출력함 (※뒷부분이 에러가 발생하는 부분이라도 에러가 발생하지 않고 False라고 정상적으로 출력됨)
- or 연산자( " | ", " or " ): 하나라도 True이면 True
- 앞부분이 True이면 뒷부분 연산 안 하고 True 출력함 (※뒷부분이 에러가 발생하는 부분이라도 에러가 발생하지 않고 True라고 정상적으로 출력됨)
- not 연산자( " not " ): 결과를 반대로 출력
#and 연산자 예시 (and 또는 & 쓰면 됨)
num1 = 1
num2 = 2
num3 = 3
print((num1<num2) and (num2<num3)) #true and true/ 출력->True
print((num1<num2) and (num2>num3)) #true and false/ 출력->False
print((num1>num2) and (num2>num3)) #false and false/ 출력->False
#or 연산자 예시 (or 또는 | 쓰면 됨)
num1 = 1
num2 = 2
num3 = 3
print((num1<num2) or (num2<num3)) #true and true/ 출력->True
print((num1<num2) and (num2>num3)) #true and false/ 출력->True
print((num1>num2) and (num2>num3)) #false and false/ 출력->False
#not 연산자 예시
num1 = True
num2 = False
print(not num1) #출력-> False
print(not num2) #출력-> True
print(not(2>3)) #출력-> True
도슐랭스타
★★☆☆☆ 생각보다 머리가 아프군..
and와 or 연산자를 처음봐서 그런지 생각보다 헷갈린다. 복습하면서 예제 문제를 꼭 풀어봐야겠다.
반응형
'Python' 카테고리의 다른 글
Python-list(리스트) (0) | 2023.07.01 |
---|---|
Python - 조건문(if, else, elif)과 반복문(for, while) (0) | 2023.06.01 |
Python - 데이터의 종류와 print()함수 (0) | 2023.05.27 |