320x100
# 등비 수열(일방항) 공식: an = a1 * r^(n-1)
# 등비 수열(합) 공식: sn = a1 * (1-r^n) / (1-r)
# 내 코드
# mul이랑 sum이랑 약간 꼬였다. 그만큼 이해도가 낮았다.
# 마지막엔 대강 생각으로 하기보단 감으로 끼워맞추기 식으로 해서
# 맞추게 되었다. 어쨌건 지금은 성공
a1 = int(input('a1: '))
r = int(input('R: '))
n = int(input('n: '))
count = 1
mul_num = 0
sum_num = a1
while count < n+1:
mul_num += sum_num
print(f'{count}번째 항의 값: {sum_num}')
print(f'{count}번째 항까지의 값: {mul_num}')
sum_num *= r
count += 1
# 해답 코드
def sequenceCal(n1, r, n):
valueN = 0; sumN = 0
i = 1
while i <= n:
if i == 1:
valueN = n1
sumN = valueN
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 값: {sumN}')
i += 1
continue
valueN *= r
sumN += valueN
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 값: {sumN}')
i += 1
inputN1 = int(input('a1입력: '))
inputR = int(input('공비입력: '))
inputN = int(input('n입력: '))
sequenceCal(inputN1,inputR,inputN)
코드 길이는 내가 더 짧은데, 이해도가 낮아서 그런가;
뭔가 불완전한 코드의 느낌이 난다.
300x250
'개발일지 > Python' 카테고리의 다른 글
[복기] 파이썬 리스트,인덱스,슬라이싱 활용 반복문 (리스트의 인덱스가 2개 이상일때) (0) | 2022.05.09 |
---|---|
파이썬 2개이상의 인덱스로 이루어진 리스트(list) 활용 법 (0) | 2022.05.09 |
[복기] 등차수열 코드 (0) | 2022.05.05 |
[복기] 인원 카운트, 개별금액, 총금액 영수증 출력하기 (0) | 2022.05.05 |
파이썬 [전역변수]모듈 __name__, __main__ 류 import 설명 (0) | 2022.05.03 |