Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 및 해당 응용 프로그램의 divmod()

<시간/>

divmod()는 두 개의 숫자를 매개변수로 사용하고 나눗셈의 몫과 나머지를 튜플로 제공하는 파이썬 표준 라이브러리의 일부입니다. 숫자의 나눗셈을 확인하고 숫자가 소수인지 확인하는 것과 같은 많은 수학 응용 프로그램에서 유용합니다.

구문

구문:divmod(a, b)a 및 b :b는 aa를 나누고 b는 정수 또는 부동 소수점

예시

아래 예에서 정수와 부동 소수점 모두의 경우를 보십시오. divmod()를 적용하면 정수와 부동 소수점 값도 포함할 수 있는 결과 튜플을 제공합니다.

# with integersprint("5 및 2는 제공:",divmod(5,2))print("25 및 5는 제공:",divmod(25,5))# with Floatsprint("5.6 및 2는 제공:" ,divmod(5.6,2))print("11.3 및 9.2 제공:",divmod(11.3,9.2))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

5 및 2 제공:(2, 1)25 및 5 제공:(5, 0)5.6 및 2 제공:(2.0, 1.5999999999999996)11.3 및 9.2 제공:(1.0, 2.10000000000제로 사용 

첫 번째 인수가 0이면 (0,0)을 얻습니다. 그리고 두 번째 인수가 0이면 예상대로 Zerodivision 오류가 발생합니다.

# 첫 번째 인수를 zeroprint("0 및 8 제공:",divmod(0,8))# 두 번째 인수를 zeroprint("8 및 0 제공:",divmod(8,0))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

0 및 8 제공:(0, 0)Traceback(가장 최근 호출 마지막):파일 "xxx.py", 줄 6, inprint("8 및 0 제공:",divmod(8,0))ZeroDivisionError:정수 나누기 또는 0으로 모듈로

나눗셈 확인

나눗셈 후 튜플의 두 번째 값이 0이면 첫 번째 숫자를 초로 나눌 수 있다고 말합니다. 그렇지 않으면 나눌 수 없습니다. 아래의 예가 이를 보여줍니다.

m =12n =4quotient,remainder =divmod(m,n)print(quotient)print(remainder)if ​​(remainder==0):print(m,'는 ',n)else로 나눌 수 있음:print(m ,'는 ',n)
으로 나눌 수 없습니다.

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

3012는 4의 배수입니다.

숫자가 소수인지 확인하기

우리는 divmod()를 사용하여 숫자를 1까지 시작하는 각 숫자로 나누기 시작할 때 생성하는 알림을 추적할 수 있습니다. 소수의 경우 나머지 0의 개수는 자신 이외의 숫자가 나누지 않으므로 1뿐입니다. 완벽하게. 나머지 0의 개수가 1보다 크면 숫자는 소수가 아닙니다.

num =11a =num# 값이 0인 나머지 개수를 계산합니다.count =0while a !=0:q, r =divmod(num, a) a -=r ==0인 경우:count +=1if count> 2:print(num, '프라임이 아님')else:print(num, '프라임')

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

11은 프라임입니다