TIL. 25 CodeKata#2


Question


パラメータとして整数をreverse関数として受信します.
その数字をひっくり返して返してください.
x:数値
return:反転した数字を返します!
たとえば、
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321

に答える

def reverse(number):
  new_num = str(number)[::-1]
  if number < 0:
    new_num = "-" + new_num[:-1]
  return(int(new_num))
int()を使用してstrをインデックス化し、スライス可能にし、最後の逆方向で0を削除します.
https://www.w3schools.com/python/python_howto_reverse_string.asp乙、乙参照.
There is no built-in function to reverse a String in Python.
The fastest (and easiest?) way is to use a slice that steps backwards, -1.
ex)
Reverse the string "Hello World":
txt = "Hello World"[::-1]
print(txt)

別の解釈

def reverse(number):
    if number >= 0:
        temp = list(str(number))
        temp.reverse()
        return int(''.join(temp))
    elif number < 0:
        temp = list(str(number)[1:])
        temp.reverse()
        return int(''.join(temp)) * -1