【Python初学者にわかりやすい解説求む:def関数で『2進数の関数』つくってみた】
Pythonを使って、自分で2進数の関数をつくりたい。
Pythonを使って2進数の関数を定義づけしました。
自分なりに2進数の関数を定義づけたのですが、動作しません。
初学者すぎて自分の関数の何が問題なのかもうまくわかりません。
新しい解決方法ではなく、わたしの書いた定義をもとに組み直しと解説を頂きたいです。
ちなみに、自分でトライしていることとしては、与えられた10進数の数字nを2進数にするために、nを2で割り、あまりが出たら、appendで空のリストに1をくわえ、あまりが出なかったら0をappenndでくわえていき、最終的にreverseでリストの中身をひっくりかえして、それをprintで表示するということをトライしています。
発生している問題・エラー
10進数が2進数に変換されない。
自分でつくった定義が間違っているようだが、何がまちがっているのかわからない。
エラーメッセージなしだが、出力結果もなし。
該当するソースコード
def bin_num(n):
a = []
while n >= 0:
while n % 2 == 0:
a.append(0)
else:
a.append(1)
n = int(n/2)
a.reverse()
a = ''.join[str(a)]
return a
bin_num(29)
自分で試したこと
Whileで定義づけしていますが、答えになっておらず、もやもやが晴れません。
0