09~10_진법
- 10진수 -> 2진수, 8진수, 16진수
binary : bin()
octal : oct()
Hexadecimal : hex()
- 변환 후 데이터 타입은 문자열
dNum = 30
print('2진수: {}'.format(bin(dNum)))
print('8진수: {}'.format(oct(dNum)))
print('16진수: {}'.format(hex(dNum)))
print('2진수: {}'.format(format(dNum, '#b')))
print('8진수: {}'.format(format(dNum, '#o')))
print('16진수: {}'.format(format(dNum, '#x')))
print('{0: #b},{0: #o},{0: #x}'.format(dNum))
print('2진수(0b11110) -> 10진수({})'.format((int('0b11110', 2))))
print('8진수(0o36) -> 10진수({})'.format((int('0o36', 8))))
print('16진수(0x1e) -> 10진수({})'.format((int('0x1e', 16))))
11_수열
- 수열: 규칙성을 가지고 나열되어 있는 수들
- 특정항은 특정항까지의 합에서 특정항 이전까지의 합과 같다
12_등차 수열
- 등차 수열: 연속된 두 항의 차이가 일정한 수열
- 등차 수열 규칙성을 이용해서 일반항을 구할 수 있다

- 등차 중항: 연속된 세 항에서 가운데 항 (ex_ a3 = (a2+a4)/2)
- 등차 수열의 합

13_등차 수열(01)
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = inputN1
n = 1
while n <= inputN:
if n == 1:
print(f'{n}번째 항의 값: {inputN1}')
valueN += inputD
n += 1
else:
print(f'{n}번째 항의 값: {valueN}')
valueN += inputD
n += 1
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = inputN1 + (inputN - 1) * inputD
print(f'{inputN}번째 항의 값: {valueN}')
14_등차 수열(02)
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
n = 1
sumN = 0
while n <= inputN:
if n == 1:
valueN = inputN1
sumN = valueN
print(f'{n}번째 항까지의 합: {sumN}')
valueN += inputD
sumN += valueN
n += 1
else:
print(f'{n}번째 항까지의 합: {sumN}')
valueN += inputD
sumN += valueN
n += 1
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = inputN1 + (inputN - 1) * inputD
sumN = inputN * (inputN1+valueN) / 2
sumN = int(sumN)
print(f'{inputN}번째 항까지의 합: {sumN}')
15_등비 수열
- 등비 수열: 연속된 두 항의 비가 일정한 수열
- 등비 수열의 일반항:

- 등비 중항: 연속된 세 항에서 가운데 항 (a3^2 = (a2 * a4))
- 등비 수열의 합:

16_등비 수열(01)
inputN1 = int(input('a1 입력: '))
inputR = int(input('r 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
print(f'{n}번째 항의 값: {valueN}')
valueN *= inputR
n += 1
else:
print(f'{n}번째 항의 값: {valueN}')
valueN *= inputR
n += 1
inputN1 = int(input('a1 입력: '))
inputR = int(input('r 입력: '))
inputN = int(input('n 입력: '))
valueN = inputN1 * (inputR ** (inputN-1))
print(f'{inputN}번째 항의 값: {valueN}')
17_등비 수열(02)
inputN1 = int(input('a1 입력: '))
inputR = int(input('r 입력: '))
inputN = int(input('n 입력: '))
valueN = 0; sumN = 0; n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
sumN += valueN
print(f'{n}번째 항까지의 합: {sumN}')
n += 1
valueN *= inputR
sumN += valueN
print(f'{n}번째 항까지의 합: {sumN}')
n += 1
inputN1 = int(input('a1 입력: '))
inputR = int(input('r 입력: '))
inputN = int(input('n 입력: '))
sumN = (inputN1 * (1-(inputR**inputN))) / (1-inputR)
sumN = int(sumN)
print(f'{inputN}번째 항까지의 합: {sumN}')
- 중급 끝나고 기초 수학 넘어오니 프로그래밍 하는 것 자체의 난이도는 확 줄어든 느낌..
이지만 수학 공식은 이해는 가지만, 못 외우겠소 🙄