파이썬 random.choice()

조회수 1430회

import random time = random.randint(1,24) print("좋은 아침입니다. 지금 시각은 "+ str(time) + "시 입니다.") sunny = random.choice([True,False]) if sunny: print("현재 날씨가 화창합니다.") else: print("현재 날씨가 화창하지 않습니다.") if time >=6 and time < 9 and sunny: print("종달새가 노래를 한다.") else: print("종달새가 노래를 하지 않는다.")

소스 코드는 위와 같습니다. 제가 질문하고 싶은 부분은 sunny = random.choice([True,False]) if sunny: print("현재 날씨가 화창합니다.") else: print("현재 날씨가 화창하지 않습니다.") 이 부분 입니다. 왜 sunny == True: 가 아니라 sunny: 인가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 똑같은 결과입니다. 그냥 if sunny:라고 해도 sunny가 빈값(빈문자열,빈리스트,빈튜플,빈딕셔너리), 0, None, False가 아니라면 무조건 트루가 되는 것입니다. 물론 직접 sunny==어떤 값의 비교문으로 비교해도 두 값이 같으면 참이고 다르면 거짓이 됩니다. 두 경우가 같은 결과라면 굳이 동등연산자를 사용해 중복코드를 만들 필요는 없겠지오.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)