YXH*_*YXH 15 python string program-entry-point function list
使用Python,反转一个整数并确定它是否是回文.这是我对反向和回文的定义.我有正确的逻辑吗?
def reverse(num):
s=len(num)
newnum=[None]*length
for i in num:
s=s-1
newnum[s]=i
return newnum
def palindrome(num):
a=str(num)
l=len(z)/2
if a[:1]==a[-1:][::-1]:
b=True
else:
b=False
Run Code Online (Sandbox Code Playgroud)
我写的有些麻烦def main
.
Pet*_*ull 49
def palindrome(num):
return str(num) == str(num)[::-1]
Run Code Online (Sandbox Code Playgroud)
ped*_*rio 16
整数不具有len().
测试数字是否为回文就像测试数字是否等于反向一样简单(尽管如果你想要最高效率,你可以只比较字符串两端的字符,直到到达中间).
要找到整数的反转,你可以用硬方式(使用mod%和整数除法//找到每个数字并构造反向数字):
def reverse(num):
rev = 0
while num > 0:
rev = (10*rev) + num%10
num //= 10
return rev
Run Code Online (Sandbox Code Playgroud)
或者简单的方法(将数字转换为字符串,使用切片表示法来反转字符串并将其转回整数):
def reverse(num):
return int(str(num)[::-1])
Run Code Online (Sandbox Code Playgroud)