10/19 CodeKata
8954 ワード
質問する
パラメータとして整数をreverse関数として受信します.
その数字をひっくり返して返してください.
x:数値
return:反転した数字を返します!
たとえば、x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
ろんり
初めて問題を見て、いくつかの条件を設定し始めました.
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
初めて問題を見て、いくつかの条件を設定し始めました.
このとき、負の値を文字列に変換すると、-記号も文字列に変換されるので、負の値を正の値に変換して文字列に変換します.
その後,譲受人数列資料型を文字列資料型に変換し,文字列を反転する方法を用いた.
文字列反転時に文字列スライド使用方法str[start:end:step]でstep-1を与えると文字列が反転する方法が適用されます.
文字列をひっくり返して整数型に変換すると、問題は欲しい資料型で、ひっくり返して0が一番前に出たときに自動的に消去され、そのまま返すだけで問題は解決します.
コード#コード# def reverse(number):
if number < 0:
number *= -1
str_number = str(number)
rev = str_number[::-1]
int_number = int(rev)
return int_number * (-1)
else :
str_number = str(number)
rev = str_number[::-1]
int_number = int(rev)
return int_number
コード2 def reverse(number):
if number < 0:
number *= -1
x = [int(a) for a in str(number)]
firstIndex=0
lastIndex=len(x)-1
while True:
x[firstIndex], x[lastIndex] = x[lastIndex], x[firstIndex]
firstIndex += 1
lastIndex -= 1
if firstIndex >= lastIndex:
break
y = "".join(map(str,x))
return int(y)*(-1)
else :
x = [int(a) for a in str(number)]
firstIndex=0
lastIndex=len(x)-1
while True:
x[firstIndex], x[lastIndex] = x[lastIndex], x[firstIndex]
firstIndex += 1
lastIndex -= 1
if firstIndex >= lastIndex:
break
y = "".join(map(str,x))
return int(y)
実際、このコードは最初はループで解読されているので、少し恥ずかしいかもしれません.負数を正数に変換する方法を思いついたのですが、次にどうするのか整理できずにリストに1つずつ入れて要素を交換する方法で問題を解決しましたが、実現方法が恥ずかしかったので考え直して最初のコードが出てきました.
幸いなことに、同じリストの要素を交換する方法があることを知った後、Pythonに対する考えが少し変わった.こんなのありますか?検索すると本当にその後グーグルゲームをしていると雲神の範囲が広くなったような気がします
Reference
この問題について(10/19 CodeKata), 我々は、より多くの情報をここで見つけました
https://velog.io/@gshduet/Kata-002
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def reverse(number):
if number < 0:
number *= -1
str_number = str(number)
rev = str_number[::-1]
int_number = int(rev)
return int_number * (-1)
else :
str_number = str(number)
rev = str_number[::-1]
int_number = int(rev)
return int_number
def reverse(number):
if number < 0:
number *= -1
x = [int(a) for a in str(number)]
firstIndex=0
lastIndex=len(x)-1
while True:
x[firstIndex], x[lastIndex] = x[lastIndex], x[firstIndex]
firstIndex += 1
lastIndex -= 1
if firstIndex >= lastIndex:
break
y = "".join(map(str,x))
return int(y)*(-1)
else :
x = [int(a) for a in str(number)]
firstIndex=0
lastIndex=len(x)-1
while True:
x[firstIndex], x[lastIndex] = x[lastIndex], x[firstIndex]
firstIndex += 1
lastIndex -= 1
if firstIndex >= lastIndex:
break
y = "".join(map(str,x))
return int(y)
実際、このコードは最初はループで解読されているので、少し恥ずかしいかもしれません.負数を正数に変換する方法を思いついたのですが、次にどうするのか整理できずにリストに1つずつ入れて要素を交換する方法で問題を解決しましたが、実現方法が恥ずかしかったので考え直して最初のコードが出てきました.幸いなことに、同じリストの要素を交換する方法があることを知った後、Pythonに対する考えが少し変わった.こんなのありますか?検索すると本当にその後グーグルゲームをしていると雲神の範囲が広くなったような気がします
Reference
この問題について(10/19 CodeKata), 我々は、より多くの情報をここで見つけました https://velog.io/@gshduet/Kata-002テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol