hashlib 라이브러리를 사용하여 파일의 해시를 찾을 수 있습니다. 파일 크기는 꽤 클 수 있습니다. 버퍼를 사용하여 청크를 로드하고 처리하여 파일의 해시를 계산하는 것이 가장 좋습니다. 모든 크기의 버퍼를 사용할 수 있습니다. 예시 import sys import hashlib BUF_SIZE = 32768 # Read file in 32kb chunks md5 = hashlib.md5() sha1 = hashlib.sha1() with open('program.cpp', 'rb') as f: w
파이썬에서 관계 연산자를 사용하여 파이썬에서 숫자(float 및 int 모두)를 비교할 수 있습니다. 이 연산자는 양쪽의 값을 비교하고 이들 간의 관계를 결정합니다. 변수 a가 10을 보유하고 변수 b가 20을 보유하고 있다고 가정한 다음 연산자 예시 == (a ==b)는 사실이 아닙니다. != (a !=b)는 참입니다. b)는 사실이 아닙니다. (a
숫자를 제외한 다른 유형의 객체는 유형 이름에 따라 정렬됩니다. 적절한 비교를 지원하지 않는 동일한 유형의 객체는 주소에 따라 정렬됩니다. 두 개의 문자열 또는 두 개의 숫자 유형을 주문하면 순서가 예상된 방식으로 수행됩니다(문자열의 경우 사전순, 정수의 경우 숫자 순서). 숫자형과 비숫자형 주문시 숫자형이 먼저 옵니다. str 개체에 숫자가 있는 경우 해당 생성자를 사용하여 간단히 float 또는 int로 변환할 수 있습니다. 예를 들어, i = 100 j = "12" int_j = int(j) print(in
float 값이 정수인지 확인하려면 float.is_integer() 메서드를 사용하세요. 예를 들어, print((10.0).is_integer()) print((15.23).is_integer()) 이것은 출력을 줄 것입니다 True False
Python은 sin, cos 등과 같은 모든 삼각 함수를 제공하는 놀라운 표준 수학 라이브러리와 함께 제공됩니다. 해당 라이브러리를 가져와서 이러한 함수를 사용할 수 있습니다. 이러한 함수는 라디안 단위의 각도를 예상합니다. 예를 들어, import math angle1 = math.radians(90) angle2 = math.radians(60) print(math.cos(angle1)) print(math.cos(angle2)) 이 결과는 다음과 같습니다. 6.123233995736766e-17 0.5 첫 번째 값은 0에 매
우호적 인 숫자는 서로 다른 두 숫자이므로 각각의 고유 약수의 합이 다른 숫자와 같습니다. (숫자의 고유 약수는 숫자 자체가 아닌 해당 수의 양수입니다. 예를 들어 6의 고유 약수는 1, 2, 3입니다.) 파이썬에서는 이들 각각의 합계를 다른 것과 비교하여 이 숫자를 찾을 수 있습니다. 예를 들어, def are_amicable(x, y) if x==y: return False # Find sum of their proper divisors &nb
이진수를 문자열로 사용하는 경우 기본을 2로 제공하여 int(str, base)를 사용하여 먼저 int로 변환할 수 있습니다. 그런 다음 평소와 같이 숫자를 추가합니다. 마지막으로 bin 함수를 사용하여 문자열로 다시 변환합니다. 예를 들어, a = '001' b = '011' sm = int(a,2) + int(b,2) c = bin(sm) print(c) 이것은 출력을 줄 것입니다: 0b100
문자열의 형식 함수를 사용하여 Python에서 부동 숫자의 형식을 고정 너비로 지정할 수 있습니다. 예시 nums = [0.555555555555, 1, 12.0542184, 5589.6654753] for x in nums: print("{:10.4f}".format(x)) 출력 이것은 출력을 제공합니다 - 0.5556 1.0000 12.0542 5589.6655 예시 동일한 기능을 사용하여 정수 형식도 지정할 수 있습니다. − nums = [5, 20, 500] for x in nu
완벽한 수는 적절한 제수의 합과 같은 양의 정수입니다. 가장 작은 완전수는 1, 2, 3의 합인 6입니다. 주어진 범위에서 주어진 조건에 대해 각 숫자를 테스트하여 주어진 범위 내에서 완전한 숫자를 찾을 수 있습니다. 예시 def print_perfect_nums(start, end): for i in range(start, end + 1): sum1 = 0 for x in range(1, i): # Check if a di
99에서 99와 같이 정수를 단어로 변환하는 것을 원한다면 외부 패키지를 사용하거나 직접 빌드해야 합니다. pynum2word 모듈은 이 작업에 매우 적합합니다. −를 사용하여 설치할 수 있습니다. $ pip install pynum2word 그런 다음 다음과 같이 사용하십시오 - >>> import num2word >>> num2word.to_card(16) 'sixteen' >>> num2word.to_card(23) 'twenty-three' >
속도에 대한 걱정 없이 파이썬에서 직접 큰 수에 대한 산술 연산을 수행할 수 있습니다. Python은 임의의 큰 숫자로 작업할 수 있는 bignum 정수 유형을 지원합니다. Python 2.5+에서 이 유형은 long이라고 하며 int 유형과 분리되지만 인터프리터는 자동으로 둘 중 더 적절한 것을 사용합니다. 버전 2.5 이상이 있는 한 표준 수학 연산을 수행하기만 하면 32비트 수학의 경계를 초과하는 숫자는 자동으로(그리고 투명하게) 큰 숫자로 변환됩니다. 예시 a = 182841384165841685416854134135 b
이항 계수를 사용하여 카탈루냐 수를 계산하려면 먼저 이항 계수를 계산하는 함수를 작성해야 합니다. 예시 def binomialCoefficient(n, k): # To optimize calculation of C(n, k) if (k > n - k): k = n - k coeff = 1 for i in range(k): coeff *= (n - i) &nbs
Python에서 숫자를 사용하여 피라미드를 생성하는 방법에는 여러 가지가 있습니다. 가장 간단한 2가지 형식을 살펴보겠습니다. 예시 for i in range(5): for j in range(i + 1): print(j + 1, end="") print("") 출력 이것은 출력을 줄 것입니다 1 12 123 1234 12345 예시 를 사용하여 연속적으로 숫자를 인쇄할 수도 있습니다. start = 1 for
수정된 Kaprekar 수는 d자리의 양의 정수 n입니다. 따라서 정사각형을 두 부분으로 나눌 때 오른쪽 조각 r은 d자리이고 왼쪽 조각은 l입니다. 나머지 d 또는 d−1 자리를 포함하는 경우 조각의 합은 원래 숫자와 같습니다(즉, l + r =n). 주어진 범위에서 주어진 조건에 대해 각 숫자를 테스트하여 주어진 범위 내에서 Kaprekar 숫자를 찾을 수 있습니다. 예시 def print_Kaprekar_nums(start, end):for i in range(start, end + 1):# 목록의 사각형에서 숫자를 가져옵니
속도에 대한 걱정 없이 파이썬에서 직접 큰 수를 더하거나 뺄 수 있습니다. Python은 임의의 큰 숫자로 작업할 수 있는 bignum 정수 유형을 지원합니다. Python 2.5+에서 이 유형은 long이라고 하며 int 유형과 분리되지만 인터프리터는 자동으로 둘 중 더 적절한 것을 사용합니다. 버전 2.5 이상이 있는 한 표준 수학 연산을 수행하기만 하면 32비트 수학의 경계를 초과하는 모든 숫자가 자동으로(그리고 투명하게) bignum으로 변환됩니다. 예시 a = 182841384165841685416854134135 b =
속도에 대한 걱정 없이 파이썬에서 직접 큰 수를 곱할 수 있습니다. Python은 임의의 큰 숫자로 작업할 수 있는 bignum 정수 유형을 지원합니다. Python 2.5+에서 이 유형은 long이라고 하며 int 유형과 분리되지만 인터프리터는 자동으로 둘 중 더 적절한 것을 사용합니다. 버전 2.5 이상이 있는 한 표준 수학 연산을 수행하기만 하면 32비트 수학의 경계를 초과하는 모든 숫자가 자동으로(그리고 투명하게) bignum으로 변환됩니다. 예를 들어, a = 15421681351 b = 6184685413848 pr
평소와 같이 파이썬에서 큰 수를 나눌 수 있습니다. 그러나 언어 속도가 느려질 수 있으므로 이러한 작업이 정확하다고 보장할 수 없기 때문에 정밀도 문제가 많습니다. 이러한 연산을 수행하려면 bigfloat과 같은 수치 계산 라이브러리를 사용하는 것이 좋습니다. https://docs.python.org/3/tutorial/floatingpoint.html에서 정확하게 직면할 수 있는 부동 소수점 문제에 대해 자세히 알아볼 수 있습니다.
^ 연산자를 사용하여 모든 유형의 숫자에 대한 XOR을 얻을 수 있습니다. 특히 16진수의 경우 다음을 사용할 수 있습니다. a = 0x12ef b = 0xabcd print(hex(a ^ b)) 이 결과는 다음과 같습니다. 0xb922 숫자의 시작 부분에 있는 0x는 숫자가 16진수 표현임을 의미합니다. 다른 정수 표현에도 ^ 연산자를 사용할 수 있습니다.
파이썬에서 문자열 클래스의 생성자, 즉 str은 파이썬에서 숫자를 문자열로 변환하는 데 사용할 수 있습니다. 예를 들어, i = 10050 str_i = str(i) print(type(str_i)) 이 결과는 다음과 같습니다. <class 'str'> 그러나 99에서 99와 같이 정수를 단어로 변환하는 것을 원한다면 외부 패키지를 사용하거나 직접 빌드해야 합니다. pynum2word 모듈은 이 작업에 매우 적합합니다. 다음을 사용하여 설치할 수 있습니다. $ pip install pynum2word 그런
Strong Numbers를 인쇄하려면 먼저 정의를 살펴보겠습니다. 그것은 자신의 자릿수의 계승의 합인 숫자입니다. 예를 들어 145는 강한 숫자입니다. 먼저 계승을 계산하는 함수를 만듭니다. def fact(num): def factorial(n): num = 1 while n >= 1: num = num * n n = n - 1 return num 다음 코드