다음 코드는 "test"의 무한 줄을 출력합니다.
foo = 5
while foo:
print("bar")
다른 날 저는 여기서 숫자 합계에 대한 답을 보았습니다. 이것은 답변에 표시된 코드입니다.
def digit_sum(t):
s = 0
while t:
s += t % 10
t //= 10
return s
제가 집중하고있는 부분은 "while t :"부분입니다. 이것이 어떻게 그리고 왜 작동합니까?
while
상태를 테스트 진실 . 0이 아닌 숫자 값은 모두 참으로 간주됩니다. Python 문서 의 Truth Value Testing 섹션 을 참조하세요 .
if
또는while
조건 에서 사용 하거나 아래의 부울 연산의 피연산자로 사용하기 위해 모든 개체의 진리 값을 테스트 할 수 있습니다 . 다음 값은 거짓으로 간주됩니다.
None
False
모든 숫자 타입 제로 예를 들어,
0
,0L
,0.0
,0j
.빈 시퀀스 (예 :
''
,,()
)[]
.빈 매핑 (예 :
{}
.사용자 정의 된 클래스의 인스턴스 클래스가 정의하는 경우,
__nonzero__()
또는__len__()
그 방법은 정수 또는 제로 부울 값을 반환 할 때, 방법False
.다른 모든 값은 참으로 간주되므로 여러 유형의 객체는 항상 참입니다.
대담하게 강조합니다.
샘플 while
루프에서 t
추세는 0 (정수를 10으로 나눈 값)이되므로 결국 거짓으로 간주 while t:
되므로 종료 t
됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다