python 언어에서 가장 기본적인 명령이 출력문이다.
print( )를 이용해 다음 단어를 출력하시오.
Hello
print('Hello')
이번에는 공백( )을 포함한 문장을 출력한다.
다음 문장을 출력해보자.
Hello World
print('Hello World')
이번에는 줄을 바꿔 출력하는 출력문을 연습해보자.
다음과 같이 줄을 바꿔 출력해야 한다.
Hello
World
print('Hello')
print('World')
이번에는 작은 따옴표(')(single quotation mark)가 들어있는
출력문 연습을 해보자.
다음 문장을 출력하시오.
'Hello'
print("'Hello'")
이번에는 큰따옴표(")(double quotation mark)가 포함된 출력문을 연습해보자.
다음 문장을 출력하시오.
"Hello World"
(단, 큰따옴표도 함께 출력한다.)
print('"Hello World"')
이번에는 특수문자 출력에 도전하자!!
다음 문장을 출력하시오.
"!@#$%^&*()'
(단, 큰따옴표와 작은따옴표도 함께 출력한다.)
print("\"!@#$%^&*()\'")
윈도우 운영체제의 파일 경로를 출력하는 연습을 해보자.
파일 경로에는 특수문자들이 포함된다.
다음 경로를 출력하시오.
"C:\Download\'hello'.py"
(단, 따옴표도 함께 출력한다.)
\도 안전하게 출력하려면 \를 사용하는 것이 좋다.
print('"C:\\Download\\\'hello\'.py"')
이번에는 다음과 같은 python프로그램의 소스코드를 출력해보자.
print("Hello\nWorld")
위 코드를 정확히 그대로 출력하시오.(공백문자 주의)
print('print("Hello\\nWorld")')
변수에 문자 1개를 저장한 후
변수에 저장되어 있는 문자를 그대로 출력해보자.
str = input()
print(str)
변수에 정수값을 저장한 후 정수로 변환하여 출력해보자.
n = input()
print(int(n))
변수에 실수값을 저장한 후
변수에 저장되어 있는 값을 그대로 출력해보자.
f = input()
print(float(f))
줄을 바꿔 정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.
a = int(input())
b = int(input())
print(a)
print(b)
줄을 바꿔 문자(character) 2개를 입력받고, 순서를 바꿔 한 줄씩 출력해보자.
a = input()
b = input()
print(b)
print(a)
실수(real number) 1개를 입력받아 줄을 바꿔 3번 출력해보자.
f = float(input())
print(f)
print(f)
print(f)
공백을 두고 입력된 정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.
** 참고
python의 input()은 한 줄 단위로 입력을 받는다.
input().split() 를 사용하면, 공백을 기준으로 입력된 값들을 나누어(split) 자른다.
a, b = 1, 2
를 실행하면, a에는 1 b에는 2가 저장된다.a, b = input().split() print(int(a), int(b))
공백을 두고 문자(character) 2개를 입력받아 순서를 바꿔 출력해보자.
a, b = input().split()
print(b, a)
정수(integer), 실수, 문자(character), 문자열(string) 등 1개만 입력받아 한 줄로 3번 출력해보자.
참고
python 언어에서는 문자/정수/실수/문자열 등 특별한 구분이 없이도 원하는 변수에 저장시켜 출력 할 수 있다.
하지만, 저장된 값을 이용해 계산하거나 서로 붙여 연결시키거나 잘라내는 작업을 한다면?
반드시 저장되어있는 값의 종류(문자/정수/실수/문자열 등)를 구분해 주어야 한다.
s = input()
print(s, s, s)
24시간 시:분 형식으로 시간이 입력될 때, 그대로 출력하는 연습을 해보자.
참고
input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다.
print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다.
sep 는 분류기호(seperator)를 의미한다.
a, b = input().split(':')
print(a, b, sep=':')
"연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자.
참고
y, m, d = input().split('.')
과 같이 변수들을 순서대로 나열하면 구분기호를 기준으로 잘라 순서대로 저장한다.
y, m, d = input().split('.')
print(d, m, y, sep='-')
주민번호는 다음과 같이 구성된다.
XXXXXX-XXXXXXX
왼쪽 6자리는 생년월일(YYMMDD)이고, 오른쪽 7자리는 성별,출생지역,확인코드로 구성되어있다.
-'를 제외한 주민번호 13자리를 모두 붙여 출력한다.
참고
아무것도 없는 공(empty) 문자는 작은 따옴표(') 2개를 붙여서 '' 로 표현한다.
a, b = input().split('-')
print(a+b)
알파벳과 숫자로 이루어진 단어 1개가 입력된다.
입력받은 단어의 각 문자를 한 줄에 한 문자씩 분리해 출력한다.
참고
s[0] 은 첫 번째 문자를 의미한다.
s = input()
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
6자리의 연월일(YYMMDD)을 입력받아 나누어 출력해보자.
참고
s = input()
print(s[0:2])
를 실행하면 0번째 문자부터 1번째 문자까지 잘라 출력한다.
s[a:b] 라고 하면, s라는 단어에서 a번째 문자부터 b-1번째 문자까지 잘라낸 부분을 의미한다.
다른 자르기 방법도 있다.
s = input()
print(s[0:2])
print(s[2:4])
print(s[4:])
시:분:초 형식으로 시간이 입력될 때 분만 출력해보자.
어떻게 분만 출력해야 할지 주의 깊게 생각해야한다.
s = input().split(':')
print(s[1])
알파벳 문자와 숫자로 이루어진 단어 2개를 입력받아
순서대로 붙여 출력하는 프로그램을 작성해보자.
참고
단어는 문자(character)들로 만든다.
문자들로 구성된 문장을 문자열(string)이라고 부른다.
문자열에는 공백문자(' ')가 포함될 수 있는데,
문자 1개는 길이가 1인 문자열이라고 할 수 있고, 공백문자(' ')가 없는 문자열은 단어(word)라고 할 수 있다.
일반적인 문장들은 공백으로 구분된 단어들로 만들어지기 때문에,
공백문자로 구분된 문장에서 단어를 잘라내기 위해서는 공백문자(' ')를 기준으로 자르면 된다.
키보드로 입력되는 것들은 기본적으로 문자열로 인식되고, 문자열끼리 더하기(+)를 실행하면,
두 문자열을 합쳐 연결한(concatenate) 결과를 만들어 낸다.
a, b = input().split()
print(a+b)
정수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
a, b = input().split()
print(int(a)+int(b))
실수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
참고
입력되는 값은 기본적으로 문자열로 인식된다.
숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.
a = float(input())
b = float(input())
print(a+b)
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
a = input()
n = int(a) #입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'% n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
(%o로 출력하면 8진수(octal) 문자열로 출력된다.)
10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다.
a = int(input())
print('%x'% a)
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
print('%X' % n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%X로 출력하면 16진수(hexadecimal)대문자로 출력된다.
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
16진수 A는 10진수의 10, B는 11, C는 12 ... 와 같다.
n = int(input())
print('%X'% n)
16진수를 입력받아 8진수(octal)로 출력해보자.
예시
a = input()
n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) #n에 저장되어있는 값을 8진수(octal) 형태 문자열로 출력
참고
8진법은 한 자리에 8개(0 1 2 3 4 5 6 7)의 문자를 사용한다.
8진수 10은 10진수의 8, 11은 9, 12는 10 ... 와 같다.
a = input()
n = int(a, 16)
print('%o'% n)
영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.
예시
n = ord(input())
print(n)
참고
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다.
실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
ord(c) : 문자 c 를 10진수로 변환한 값
컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.
예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고,
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다.
유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.
s = ord(input())
print(s)