본문 바로가기
프로그램

[파이썬] 문제 : 두 숫자와 증가수를 가지고 리스트를 만들어 합을 구하기

by 오디세이99 2023. 4. 10.
728x90
반응형

range(start, end, step)을 사용할때 주의해야 합니다.

range(0, 5, 1) 이라면 0,1,2,3,4 가 됩니다. end-1 이라는 것에 주의 해야 합니다.

range(5)의 결과도 위와 같습니다. start가 기본적으로 0이 됩니다. step은 1 이 됩니다.

range(5, -1, -1)는 5,4,3,2,1,0 이 됩니다.

 

sum() 함수 사용한 코드

a = int(input('첫 번째 숫자를 입력하세요 : '))     # 입력 받음
b = int(input('두 번째 숫자를 입력하세요 : '))
n = int(input('더할 숫자를 입력하세요 : '))

lst = list(range(a, b+1, n))             # range(start, end, step)으로 end-1까지 나옵니다. 그래서 +1를 합니다. 리스트로 만듭니다.
lst_str = "+".join(list(map(str, lst)))  # map함수는 리스트의 원소를 str함수로 적용->이를 리스트로 만들고->각 원소를 '+'붙여서 문자열을 만들빈다.
print(lst_str[:4] + '...' + lst_str[-4:] + '는' + str(sum(lst)) + '입니다.')  # 각각의 문자열을 더해서 출력

 

for문으로 합계 구하기

a = int(input('첫 번째 숫자를 입력하세요 : '))     # 입력 받음
b = int(input('두 번째 숫자를 입력하세요 : '))
n = int(input('더할 숫자를 입력하세요 : '))

lst = list(range(a, b+1, n))             # range(start, end, step)으로 end-1까지 나옵니다. 그래서 +1를 합니다. 리스트로 만듭니다.
lst_sum = 0                              # 합계 변수
for i in lst: lst_sum += i              # 한줄로 for문 사용 합계 구하기
lst_str = "+".join(list(map(str, lst)))  # map함수는 리스트의 원소를 str함수로 적용->이를 리스트로 만들고->각 원소를 '+'붙여서 문자열을 만들빈다.
print(lst_str[:4] + '...' + lst_str[-4:] + '는' + str(lst_sum) + '입니다.')  # 각각의 문자열을 더해서 출력

728x90
반응형

댓글