10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
10진수 1개가 입력된다.
255
16진수(대문자) 형태로 출력한다.
FF
#내 풀이
n = input()
print('%X'%int(n))
# 모범 답안
a=input()
a=int(a)
print("%X"%a)
⭐ %X로 출력하면 16진수(hexadecimal)대문자로 출력된다. %x로 출력하면 16진수(hexadecimal)소문자로 출력된다.
16진수를 입력받아 8진수(octal)로 출력해보자.
16진수 정수 1개가 입력된다.
f
8진수 형태로 출력한다.
17
# 내 풀이
a = input()
n = int(a,16)
print('%o'%n)
# 모범 답안
a=input()
a=int(a)
print("%X"%a)
영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.
유니코드 영문자 1개가 입력된다.
A
유니코드 값을 10진수로 출력한다.
65
# 내 풀이
s = input()
n = ord(s)
print(n)
# 모범 답안
n=input()
n=ord(n)
print(n)
⭐ ord(c) : 문자 c 를 10진수로 변환한 값
입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다. ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다. 실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
10진 정수 1개를 입력받아 유니코드 문자로 출력해보자.
10진 정수 1개(32 ~ 126 범위)가 입력된다.
65
유니코드 문자로 출력한다.
A
# 내 풀이
s = int(input())
print(chr(s))
# 모범 답안
c=input()
c=int(c)
print(chr(c))
⭐ 입력은 기본적으로 모두 문자열
로 입력되는 것이라고 할 수 있다.
따라서, 입력 값이 문자/문자열/정수/실수인지에 따라서 먼저 정확하게 변환시킨 다음에 사용하거나 계산하는 것이 좋다.
⭐ chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
입력된 정수의 부호를 바꿔 출력해보자.
정수 1개가 입력된다.
-1
부호를 바꿔 출력한다.
1
# 내 풀이
n= int(input())
print(-n)
# 모범 답안
⭐ 참고 : 단항(unary) 연산자인 -(negative)를 변수 앞에 붙이면 부호가 반대인 값이 된다.
문자 1개를 입력받아 그 다음 문자를 출력해보자.
영문자 'A'의 다음 문자는 'B'이고, 숫자 '0'의 다음 문자는 '1'이다.
문자 1개가 입력된다.
a
그 다음 문자를 출력한다.
b
# 내 풀이
n = input()
n = ord(n)
print(chr(n+1))
# 모범 답안
n1=input()
n2=ord(n1)+1
s=chr(n2)
print(s)
⭐ 아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다.
따라서, 문자도 값으로 덧셈을 할 수 있다. 어떤 문자의 값에 1을 더하면 그 다음 문자의 값이 된다.
⭐ chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
⭐ 처음에 n으로 받은 문자를 int()로 변환시키려 해서 오류가 났다. ord( ) 쓰기
정수 2개(a, b)를 입력받아 a에서 b를 뺀 차를 출력하는 프로그램을 작성해보자.
2개의 정수가 공백으로 구분되어 입력된다.
123 -123
첫 번째 정수에서 두 번째 정수를 뺀 차를 출력한다.
246
# 내 풀이
a,b = input().split(' ')
print(int(a)-int(b))
# 모범 답안
a, b = input().split()
c = int(a)-int(b)
print(c)
⭐ int() argument must be a string, a bytes-like object or a number, not 'list'
int()의 매개변수는 무조건 문자열(bytes-like object 또는 숫자)이어야 한다. 리스트가 와서는 안된다.
실수 2개(f1, f2)를 입력받아 곱을 출력하는 프로그램을 작성해보자.
2개의 실수가 공백으로 구분되어 입력된다.
0.5 2.0
첫 번째 실수와 두 번째 실수를 곱한 값을 출력한다.
1.0
# 내 풀이
f1,f2=input().split()
f1 = float(f1)
f2 = float(f2)
print(f1*f2)
# 모범답안
f1, f2 = input().split()
m = float(f1)*float(f2)
print(m)
단어와 반복 횟수를 입력받아 여러 번 출력해보자.
단어와 반복 횟수가 공백으로 구분되어 입력된다.
love 3
입력된 단어를 입력된 횟수만큼 반복해 출력한다.
lovelovelove
# 내 풀이
word,n=input().split()
print(word*int(n))
# 모범 답안
w, n = input().split()
n=int(n)
print(w*n)
⭐ 문자열 * 정수 또는 정수 * 문자열은 그 문자열을 여러 번 반복한 문자열을 만들어 준다.