私はバイナリコンバータに10進数をしようとしていますが、いくつかの値が無視され、最後の値が作成されたリストに入力されていないことに気付きました。Python:なぜwhileループは最初の値を除外しますか?
#Here we create a new empty list.
binary = []
n = int(input("Enter number: "))
while n > 1:
n = n//2
m = n%2
binary.append(m)
binary.reverse()
print(" ".join(repr(e) for e in binary))
を変更しました。 nが1のとき、どうなるでしょうか? – user2357112
同じ除数で除算とmod演算の両方を行う場合は、 'divmod'関数を使用して両方を一度に取得することで、パフォーマンスを少し向上させることができます。 – Blckknght
@Blckknght 'divmod'はそれほど高速ではなく、一般に演算子を使うよりも遅い関数呼び出しが必要です。しかし、正確な速度の差はかなり小さく、バージョンによって異なります。 –