파이썬 3에는 나누기 후 십진수 값만 반환하는 메서드가 있습니까? 나는이 방법으로 5 4를 나눈 경우나누기 후 십진수 만 반환하는 메서드가 있습니까? (Python3)
예를 들어, 어떻게 이것에 대해
파이썬 3에는 나누기 후 십진수 값만 반환하는 메서드가 있습니까? 나는이 방법으로 5 4를 나눈 경우나누기 후 십진수 만 반환하는 메서드가 있습니까? (Python3)
예를 들어, 어떻게 이것에 대해
부동 소수점 나누기를 사용합니다. 예컨대 :
(11.0/5) % 1 = 0.20000000000000018
(1.0 * 11/5) % 1 = 0.20000000000000018
8을 반환?
>>> int(((4.0/5.0) % 1) * 10)
8
'% 10'을 추가하면 실제로 숫자 형식에 맞는 모든 입력에 적용됩니다. –
Unleas는 값이 음수임을 나타냅니다. 항상 모듈로주의하십시오.) – markijbema
쉽게는 일반적인 숫자 a
를 들어, int
을 사용하여 계산할 수 있습니다
int(10*a)%10
그러나, 참고 양수이 단지 작품!
당신은 그것뿐만 아니라 음수 작동하려면 :int(10*a*cmp(a,0))%10*cmp(a,0)
당신은 부동 소수점 연산 않고이 작업을 수행 할 수 있습니다, 맞죠?
foo=lambda x,y: (10*(x%y))/y)
# Demo
>>> for i in range(20):
... print(foo(i,7), i/7.0)
...
(0, 0.0)
(1, 0.14285714285714285)
(2, 0.2857142857142857)
(4, 0.42857142857142855)
(5, 0.5714285714285714)
(7, 0.7142857142857143)
(8, 0.8571428571428571)
(0, 1.0)
(1, 1.1428571428571428)
(2, 1.2857142857142858)
(4, 1.4285714285714286)
(5, 1.5714285714285714)
(7, 1.7142857142857142)
(8, 1.8571428571428572)
(0, 2.0)
(1, 2.1428571428571428)
(2, 2.2857142857142856)
(4, 2.4285714285714284)
(5, 2.5714285714285716)
(7, 2.7142857142857144)
1을 3으로 나누면 어떻습니까? 3333333333333333 (등)을 반환해야합니까? 아니면 3? –