0
를 사용하여 부동 소수점 숫자에 대한 수치 회문의 유효성을 평가하기 위해
그래서이 알고리즘을 많이하는 int 즉,기능 파이썬
def ReverseNumber(n, partial=0):
if n == 0:
return partial
return ReverseNumber(n // 10, partial * 10 + n % 10)
회문 여부를 평가하기 위해 또는이 하나
def isPalindrome(x):
if (x < 0):
return False
div = 1
while (x/div >= 10):
div *= 10
while (x != 0):
l = x/div
r = x % 10
if (l != r):
return False
x = (x % div)/10
div /= 100
return True
그러나 내가하고 싶은 것은 1.01
또는 22.22
과 같은 숫자인지 여부를 평가하는 것입니다. 그러한 숫자가 그 자체가 회문인지 여부를 평가하는 것입니다.
ints
이외에도 상기 알고리즘 중 어느 하나를 floats
에서 작동하도록 조정할 수 있습니까?
이
는 내가 전화를 사용하고 코드입니다 :import sys
# This method determines whether or not the number is a Palindrome
def isPalindrome(x):
x = str(x).replace('.','')
a, z = 0, len(x) - 1
while a < z:
if x[a] != x[z]:
return False
a += 1
z -= 1
return True
if '__main__' == __name__:
trial = int(sys.argv[1])
# check whether we have a Palindrome
if isPalindrome(trial):
print("It's a Palindrome!")
'return x == x [:: - 1]'할 수도 있습니다. – Blender
이 오류가 발생합니다. 'ValueError : 밑이 10 인 int()에 대한 리터럴이 올바르지 않습니다.'1.01'' –
어디에서'int() '를 사용하고 있습니까? – chepner