산술연산자
더하기 +
빼기 -
곱하기 *
거듭제곱 **
나누기 /
나누고 소수점이하 버리기 //
나누고 나머지 %
몫과 나머지(튜플로 나옴) divmod(a,b) -> (몫, 나머지)
2진수 숫자 앞에 0b (0b110) -> 6
변수 = 값 (문자열은 '')
변수1, 변수2 = 값1, 값2
>>> x = 10
>>> del x
>>> x
오류
x = None
파이썬은 None 자료형. 타 언어는 null
(img: https://wikidocs.net/1160)
주의:
할당연산자는 붙여서 사용.
+= 와 같은 할당연산자 사용시에는 값이 들어있는 변수 사용해야함
>>> x = input('문자열을 입력하세요: ')
문자열을 입력하세요: Hello, world! (입력)
>>> x
'Hello, world!'
input 한 번에 값을 여러 개 입력 : input에서 split을 사용한 변수 여러 개에 저장
변수1, 변수2 = input().split()
변수1, 변수2 = input().split('기준문자열')
변수1, 변수2 = input('문자열').split()
변수1, 변수2 = input('문자열').split('기준문자열')
예시 - 두개 입력받기
a, b = input('문자열 두 개를 입력하세요: ').split() # 입력받은 값을 공백을 기준으로 분리
print(a)
print(b)
결과
문자열 두 개를 입력하세요: Hello Python (입력)
Hello
Python
주의 : 숫자를 받으려면 변수를 정수로 변환해서 다시 저장해줘야함
Map은 파이썬 내장함수 중 하나
참고> https://wikidocs.net/32#map
변수1, 변수2 = map(int, input().split())
변수1, 변수2 = map(int, input().split('기준문자열'))
변수1, 변수2 = map(int, input('문자열').split())
변수1, 변수2 = map(int, input('문자열').split('기준문자열'))
map에 int와 input().split()을 넣으면 split의 결과를 모두 int로 변환
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
print(a + b)
숫자 두 개를 입력하세요: 10 20 (입력)
30
split에 기준 문자열을 지정하여 공백이 아닌 다른 문자로 분
a, b = map(int, input('숫자 두 개를 입력하세요: ').split(',')) # 입력받은 값을 콤마를 기준으로 분리
print(a + b)
숫자 두 개를 입력하세요: 10,20 (입력)
30
표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 평균 점수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 평균 점수를 출력할 때는 소수점 이하 자리는 버립니다(정수로 출력).
답:
a, b, c, d = map(int, input().split())
avr = int((a+b+c+d)/4)
print (avr)
print(값1, 값2, 값3)
print(변수1, 변수2, 변수3)>> print(1, 2, 3) 1 2 3 >> print('Hello', 'Python') Hello Python
print(값1, 값2, sep='문자 또는 문자열')
print(변수1, 변수2, sep='문자 또는 문자열')
>> print(1, 2, 3, sep=', ') # sep에 콤마와 공백을 지정
1, 2, 3
>>> print(4, 5, 6, sep=',') # sep에 콤마만 지정
4,5,6
>>> print('Hello', 'Python', sep='') # sep에 빈 문자열을 지정
HelloPython
>>> print(1920, 1080, sep='x') # sep에 x를 지정
1920x1080
>>> print(1, 2, 3, sep='\n')
1
2
3
>>> print('1\n2\n3') # 문자열 안에 \n을 사용하여 줄바꿈
1
2
3
print는 기본적으로 출력하는 값 끝에 \n을 붙임. 그래서 print 여러번 사용하면 줄이 바껴서 나옴.
프린트를 여러번 사용해서 한줄에 출력할때: print의 end에 빈 문자열을 지정
기본적으로 print의 end에 \n이 지정된 상태인데 빈 문자열을 지정하면 강제로 \n을 지워주기 때문
print(1, end='') # end에 빈 문자열을 지정하면 다음 번 출력이 바로 뒤에 오게 됨
print(2, end=' ') #end 에 공백 한칸 지정
print(3)
결과
12 3
표준 입력으로 년, 월, 일, 시, 분, 초가 입력됩니다. 다음 소스 코드를 완성하여 입력된 날짜와 시간을 년-월-일T시:분:초 형식으로 출력되게 만드세요.
답:
year, month, day, hour, minute, second = input().split()
print(year, month, day, sep='-', end='T')
print(hour, minute, second, sep=':')
boolean : True, False
비교, 논리 연산자의 판단결과로 사용
정수, 실수, 문자열 등 다른 type 을 불리언으로 : bool() 함수
print할때는 print(boolean)
==, !=는 값 자체를 비교하고, is, is not은 객체(object)를 비교
예시) 정수객체와 실수객체 다르게 파악
>>> 1 == 1.0
True
>>> 1 is 1.0
False
>>> 1 is not 1.0
True
표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 국어는 90점 이상, 영어는 80점 초과, 수학은 85점 초과, 과학은 80점 이상일 때 합격이라고 정했습니다(한 과목이라도 조건에 만족하지 않으면 불합격). 다음 소스 코드를 완성하여 합격이면 True, 불합격이면 False가 출력되게 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
답:
a,b,c,d = map(int, input().split())
print(a >= 90 and b > 80 and c > 85 and d >= 80)
' '
" "
''' '''
""" """
앞에 (역슬래시)
>>> print('Hello\nPython')
Hello
Python
다음 소스 코드를 완성하여 실행 결과대로 문자열이 출력되게 만드세요.
'Python' is a "programming language"
that lets you work quickly
and
integrate systems more effectively.
s = """'Python' is a "programming language"
that lets you work quickly
and
integrate systems more effectively."""
print(s)
input에서 받는 자료는 문자! 숫자로 변환해 주는 거 잊지마라