숫자와 문자 다루기

eomeom·2023년 3월 29일

파이썬 스터디 2차시

정수(int) = 2, 5, 10
실수(float) = 3.14, -9.9
복소수(conjiugate) = j, 4+5j, 1+2j
16진수(hex) = 0xDA
2진수(bin) = 0b1011101


숫자 자료형

<실습 문제1>

  1. 콘솔 창에서 정수형 숫자를 입력 받아 a를 초기화합니다.
  2. 콘솔 창에서 정수형 숫자를 입력 받아 b를 초기화합니다.
  3. a와 b를 더한 값과 그 자료형을 한 줄에 출력합니다.
  4. 위 과정에서 정수형 숫자만 2개 입력 받아 더한 값을 자료형과 출력합니다.
  5. 위 과정에서 실수형 숫자만 2개 입력 받아 더한 값을 자료형과 출력합니다.
a = int(input(''))
b = float(input(''))
print(a+b, type(a+b))
c = int(input(''))
d = int(input(''))
print(c+d, type(c+d))
e = float(input(''))
f = float(input(''))
print(e+f, type(e+f))

문자와 관련된 자료형

Q다음 중 따옴표를 문자열로 표현하는 방법 중 바르지 않은 것을 고르세요.
1. 작은 따옴표를 큰따옴표로 가마기("문자열")
2. 큰 따옴표를 작은따옴표로 감싸기("'문자열'")
3. 따옴표가 포함된 문자열을 큰따옴표 한 쌍과 작은따옴표 한 쌍으로 감싸기(""문자열")
4. 따옴표가 포함된 문자열을 큰따옴표 세 개로 감싸기("""문자열""")
5. 따옴표가 포함된 문자열을 작은따옴표 세 개로 감싸기('''문자열''')

정답 : 3번

<실습 문제2>

아래의 소설 '허클베리 핀'의 내용 일부를 파이썬으로 콘솔 출력해 봅시다.
왓츤 아줌마는 밤낮으로 나를 보기만 하면 하는 소리가 "허클베리, 발을 그런 데다 얹는 게 아니야."라든지, "허클베리, 그렇게 덜거럭거리지 말고 똑바로 앉아라." 하는 거였습니다.
그러고는 금방 "허클베리, 그렇게 하품을 하거나 기지개를 켜는 게 아니야. 왜 얌전하게 굴지 않는 거지?"하고 잔소리를 해대는 겁니다. 그러고는 버릇없이 굴면 가게 된다는 그 놈의 지옥 이야기를 하나도 빼놓지 않고 해주는 바람에 나는 정말로 거기에 가봤으면 좋겠다고 했습니다.

print('왓츤 아줌마는 밤낮으로 나를 보기만 하면 하는 소리가 "허클베리, 발을 그런 데다 얹는 게 아니야."라든지, "허클베리, 그렇게 덜거럭거리지 말고 똑바로 앉아라." 하는 거였습니다.그러고는 금방 "허클베리, 그렇게 하품을 하거나 기지개를 켜는 게 아니야. 왜 얌전하게 굴지 않는 거지?"하고 잔소리를 해대는 겁니다. 그러고는 버릇없이 굴면 가게된다는 그 놈의 지옥 이야기를 하나도 빼놓지 않고 해주는 바람에 나는 정말로 거기에 가봤으면 좋겠다고 했습니다.')

연산자 기초

% : 왼쪽 값을 오른쪽 값으로 나눈 나머지를 반환합니다.
/ : 왼쪽 값을 오른 쪽 값으로 나눈 몫을 반환합니다.
// : 왼쪽 값을 오른쪽 값으로 나눕니다.

  • : 두 값을 곱합니다.
    ** : 왼쪽 값을 오른쪽 값만큼 제곱합니다.

<실습 문제3>

아래의 출력에 맞게 실행되는 코드를 작성하세요.

27.5 <class 'float'>
Hellogoorm <class 'str'>
(20.5+3j) <class 'complex'>
306.25 <class 'float'>
1.75 <class 'float'>
1.0 <class 'float'>
7.5 <class 'float'>
(-0.6+1.8j) <class 'complex'>
num1 = 17.5
num2 = 10
cpx1 = 3 + 3j
cpx2 = 1 - 2j
str1 = "Hello"
str2 = "goorm"
print(num1 + num2, type(num1 + num2))
print(str1 + str2, type(str1 + str2))
print(num1 + cpx1, type(num1 + cpx1))
print(num1 * num1, type(num1 * num1))
print(num1 / num2, type(num1 / num2))
print(num1 // num2, type(num1 // num2))
print(num1 % num2, type(num1 % num2))
print(cpx1 / cpx2, type(cpx1 / cpx2))

<마무리 과제>

  1. a, b, c를 각각 10, 3, 1.5로 초기화합니다.
  2. a와 b를 더한 값을 출력합니다.
  3. a에서 b를 뺸 값을 출력합니다.
  4. a를 b로 나눈 값의 몫을 출력합니다.
  5. a를 b로 나눈 값의 나머지를 출력합니다.
  6. 복합대입연산자를 이용하여 b에 2를 곱한 뒤 b를 출력합니다.
  7. 복합대입연산자를 이용하여 a에 c를 곱한 뒤 a를 출력합니다.
a = 10
b = 3
c = 1.5
print(a + b)
print(a - b)
print(a // b)
print(a % b)
b *= 2
print(b)
a *= c
print(a)

0개의 댓글