私はこのサイトを見て、これを行う方法を考えましたが、まだ固執しています。数字を反転させ、記号を考慮に入れた機能
reverse_digits(8765)は5678を返しますので、私の関数は、数字を逆にすることになっている。これは簡単で行われます。
はdef reverse_digits(num):
return int(str(num)[::-1])
しかし、私のコードが必要に1)の試験では陰性であり、それを維持している場合負である(-8765は-5678を返す)、2)numが実際にintかどうかを調べるべきだと思う。 「 - 」
は、これまでのところ私はせずにそれは数字のために働く
def reverse_digits(num):
num = str(num)[::-1]
if num == '-':
minus = 1
num = num[:-1]
else:
minus = 0
int(num)
if minus == 1:
num = num*-1
else:
num = num
return num
を持っていますが、戻り「」それがあるとき「 - 」。
私はもともとそれが
if (num != int):
print("wrong type")
sys.exit()
else:
(the rest of my above code)
のようなループOD先頭にint型ですが、それは私のために働かないかどうかを確認するためにテストを置くしようとしていました。 continue/breakを使うことができるように、すべてのコードをwhileループに入れる必要がありますか? ありがとう!
、それが負の数のために 'ValueError'を送出を発生させます。 – Daniel
文字列 'str(num)'に変換する前に 'num <0:sign = -1 else sign = 1'を実行できます。あなたは1行 'num = int(num)* sign'を行うことができます。 'int(num)'行は何もしません。 'num = int(num)'でなければなりません。変数型をテストするには、 'isinstance(num、int)' – furas