«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Recent Posts
Today
Total
관리 메뉴

짜리몽땅 매거진

[Python] 문법 기초 본문

Data/Python

[Python] 문법 기초

쿡국 2023. 7. 19. 16:01

변수, 불린값, 논리연산자

변수와 변수 입력
x=10 --> x에 10을 할당한다는 개념

*다양한 값을 넣을 수 있다.

x=10.4
x
10.4
type(x) --> 데이터 형태를 보는 법
type(x)
float
x, y, z=100, 200, 300
print(x)
print(y)
print(z)
100
200
300
x=y=z=100
print(x)
print(y)
print(z)
100
100
100
변수를 통해 계산할 수 있다.
a=10
b=20
c=a+b
c
30
산출 연산 후 할당 연산자
a=10
a=a+20
a=a+20
a
50
d #선언하지 않았으므로 에러

input() 를 활용해 유저가 작성한 값을 변수에 저장 가능!!
input()
5
'5'
#input()은 문자열을 디폴트값으로 인식한다.

x=input()
8
x
'8'
a=input('첫번째 수를 입력하세요 : ')
b=input('두번째 수를 입력하세요 : ')
첫번째 수를 입력하세요 : 3
두번째 수를 입력하세요 : 5
print(a)
3
print(b)
5
print(a+b)
35
int(print(a+b)) #출력할때 타입을 바꾸려하면 안되는건가..? 아 이미 출력할 때 문자열이니까 정수로 잘 바꾼건가..?
35
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_27516\1265457578.py in <module>
----> 1 int(print(a+b)) #출력할때 타입을 바꾸려하면 안되는건가..? 아 이미 출력할 때 문자열이니까 정수로 잘 바꾼건가..?

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

a=int(input())
b=int(input())
5
7
print(a)
5
print(b)
7
print(a+b)
12
split()을 사용해서 값을 여러개로 저장할 수 있다!
print(a)
5
print(b)
7
a, b=input().split() #split()일 경우 공백으로 구분처리
5 8
a, b = input('문자열 두 개 입력하세요 단 ,를 사용해서 나눠주세요 : ').split('/')#반드시 split(문자열표시)를 해줘라!
문자열 두 개 입력하세요 단 ,를 사용해서 나눠주세요 : 5/7
map : 원하는 기능과 함께 두 가지를 묶어서 사용 가능
ex) a, b=map(int, input().split())

a,b=map(float, input().split('/'))
3/5
print(a+b)
8.0
출력 print()
print('안녕','나는','준호야') # , 를 이용해서 다양한 값 넣을 수 있다.
안녕 나는 준호야
print('안녕','나는','준호야') #콤마를 적으면 공백으로
안녕 나는 준호야
print('안녕','나는','준호야', sep=',,,,,') #sep='' 를 통해 다른 구분자 넣을 수 있다.
안녕,,,,,나는,,,,,준호야
print('안녕','나는','준호야', sep='\n') # 줄바꿈의 경우 '\n'
안녕
나는
준호야
print(안녕) #오 문자열 넣을 때는 '' 꼭 붙여라 잊지말자
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_27516\636761542.py in <module>
----> 1 print(안녕)

NameError: name '안녕' is not defined

print('안녕') # 음 오케이
안녕
print('안녕')
print('나는')
print('준호야') # 줄바꿈 하고 싶으면 그냥 이렇게 해도 됨.
안녕
나는
준호야
print('안녕',end=',,,')
print('나는',end=',,,')
print('준호야')      #end를 사용해서 구분도 가능
안녕,,,나는,,,준호야
불린값
-참과 거짓 판별

x=10
x>5
True
x==10
True
x==5
False
10==10 #숫자가 같은지는 ==를 통해 확인 가능
True
10!=5 #숫자가 다른지는 !=를 통해 확인 가능
True
x
10
x!=10
False
'junho'=='Junho' #문자열은 대소문자도 확인해야함.
False
1 is 1 #이건 뭐지 true가 뜨긴 한데, 1==1의미하는거냐고 물어보는건가? 넵 그렇습니다만...
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
C:\Users\rnrwnsgh\AppData\Local\Temp\ipykernel_27516\1728060598.py:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
  1 is 1
True
1 is 1
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
C:\Users\rnrwnsgh\AppData\Local\Temp\ipykernel_27516\1728060598.py:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
  1 is 1
True
1 is 1.0 #is 자료형 객체를 비교하기 때문에 false가 나옴
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
C:\Users\rnrwnsgh\AppData\Local\Temp\ipykernel_27516\3336455986.py:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
  1 is 1.0
False
int is not float #이렇게 자료형 객체를 비교함
True
1==1.0 #하지만 ==은 자료형이 달라도 값 자체를 비교하므로 true 나옴.
True
1 is '1' #is, is not 은 자료형 비교, '1'은 문자형이니까 당연히 false
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
<>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
C:\Users\rnrwnsgh\AppData\Local\Temp\ipykernel_27516\3178425479.py:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
  1 is '1'
False
논리연산자
<,>,>= 등 비교연산자가 있다면

and, or, not, 괄호까지 논리연산자가 있다

True and False
False
True and True
True
False and False #and는 모두 참이어야 참 결과가 나옴.
False
True or True
True
True or False
True
False or False #or은 하나만 참이어도 참 결과가 나옴.
False
논리연산자의 순서는 괄호, not, and, or 순서

not True and True
False
(10==10)and(10==5)or(not True)or(100>=100)
True