Bit_128 = 0
Bit_64 = 0
Bit_32 = 0
Bit_64 = 0
Bit_32 = 0
Bit_16 = 0
Bit_8 = 0
Bit_4 = 0
Bit_2 = 0
Bit_1 = 0
Number = int(input("Enter number to be converted: "))
for power in range(7,0,-1):
if (2**power) <= Number:
place_value = 2**power
if place_value == 128:
Bit_128 = 1
elif place_value == 64:
Bit_64 = 1
elif place_value == 32:
Bit_32 = 1
elif place_value == 16:
Bit_16 = 1
elif place_value == 8:
Bit_8 = 1
elif place_value == 4:
Bit_4 = 1
elif place_value == 2:
Bit_2 = 1
elif place_value ==1:
Bit_1 = 1
Number = Number - (place_value)
if Number == 0:
print ("Binary form of"),Number,("is"),Bit_128,Bit_64,Bit_32,Bit_16,Bit_8,Bit_4,Bit_2,Bit_1
最初のif条件に失敗したときにこのループを次の 'power'値に移動したいのですが、インタープリタで実行すると、プログラムは最初の条件が真ではないにもかかわらず実行を続けます。私は最初の条件が真であると判明した場合にのみ、次の条件に移りたいと思う。 どうすればいいですか?これはPythonの私の最初の "大きな"プログラムで、これを理解するのは苦労しています。任意のヒントをいただければ幸いです。 Btw、プログラムは1-255の任意の数をバイナリ形式に変換するためのものです。あなたはループが次の値に行きたい場合は初心者はPythonでループを止めることはできません
コードを奇妙に貼り付けたため、字下げが間違っています。これにより、コードの動作が完全に変更されます。私たちがあなたを助けることができるように修正してください。 – byxor
投稿したコードのインデントを修正してください。 – Matthias
「プログラムの実行を継続する」とはどういう意味ですか?それは無限ループではなく、必然的に停止します。 – polku