引数に入ってきた整数を各桁に分け、各桁の位をかけ、最後には文字列として表示・
例えば、12=“10+2”,345="300+40+5”,70704="70000+700+4"のように表示したいです(0から始まるけたのかずは飛ばします。)。最後の出力は文字列として出力したいです。
自分が書いたコードはlen()でlistの要素の数をしらべ、その(len(list)-1)**10のかずを一番大きい位の数にかけ、そのあとlistのindexをインクリメント、(len(list)-1)をデクリメントさせかけ合わせていくというのをループします。
がしかし、12のときは2となり42のときは2となり,なぜかいちのくらいしかでません。
なお、0からはじまるものはremoveとstartwith(0)をつかえばけせるかなとはおもっています
ご指摘お願いします。ご教授ください
def expanded_form(num): list=[int(a) for a in str(num)] print(list) keta=len(list) print(keta) index=0 while keta>=1: list_2=[] numb=list[index]*(10**(keta-1)) keta-=1 index+=1 numb=str(numb) list_2.append(numb) return("+".join(list_2))
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 06:25