파이썬 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==어떤 값의 비교문으로 비교해도 두 값이 같으면 참이고 다르면 거짓이 됩니다. 두 경우가 같은 결과라면 굳이 동등연산자를 사용해 중복코드를 만들 필요는 없겠지오.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력