if문을 이용해서 짝수값을 빼고 나머지는 더하는식을 어떻게 짜야할까요


result = 0

for i in range(1,101):
    if i%2 == 0:
        result = result - i 
    else:
        result = result + i

print(result)

1-2+3-4+5 .... 100 까지 한다고 할때 짝수값은 빼고 홀수값은 더할때

정말 기초적인 코드인데 머리가 안돌아가다보니 질문드립니다ㅠ..

  • 2016년 05월 13일에 작성됨
    1학년 재학중 파이선을 공부합니다.

  • 첨부한 코드가 올바른 코드인데 더 짧게 만들고 싶으신건가요?    이확영   2016.5.13 11:45     
  • 음? 코드 잘 짜신거 같은데요.     견습   2016.5.13 18:40     
조회수 232


2 답변


좋아요
2
싫어요
채택취소하기

이미 코드는 잘 돌아게 만드셨구요. 가장 짧게 짜는 코드는 다음과 같습니다.

1. if문을 안쓰는 경우

result = -sum(range(0,101,2))+sum(range(1,101,2))
print(result)

2. if문을 쓰는 경우

result = sum([-i if i%2==0 else i for i in range(1,101)])
print(result)
  • 2016년 05월 13일에 수정됨
    시원한 날만 일하자
  • 2016년 05월 13일에 작성됨
    시원한 날만 일하자

  • 감사합니다!    kimHSu   2016.5.23 00:11     

코드를 짧게 하고 싶으신거면 이렇게 해도 가능합니다...

result = 0

for i in range(1,101):
    result = (result - i, result + i)[i%2 == 0]

print(result)

  • i%2 == 0이 아니라 i%2이어야할 것 같습니다.    이확영   2016.5.14 14:44     
  • 감사합니다!    kimHSu   2016.5.23 00:10     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close