<p>我正在处理<a href="https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt" rel="nofollow">this series of problems</a>。在</p>
<p>我不明白问题11和使用<code>int()</code>的方式。我知道将<code>x</code>直接转换为<code>int</code>会导致一些零的丢失,所以这样做是不可能的,但我不明白是什么</p>
<pre><code>intp = int(p,2)
</code></pre>
<p>是应该做的。打印出<code>intp</code>我得到以下值,<code>4,3,10,9</code>。这与<code>0100,0011,1010,1001</code>有什么关系?为什么一开始就丢失了零?在</p>
<p>问题11<br/>
2级</p>
<blockquote>
<p>Question: Write a program which accepts a sequence of comma separated
4 digit binary numbers as its input and then check whether they are
divisible by 5 or not. The numbers that are divisible by 5 are to be
printed in a comma separated sequence.</p>
<p>Example:</p>
<pre><code>0100,0011,1010,1001
</code></pre>
<p>Then the output should be:</p>
<pre><code>1010
</code></pre>
<p>Notes: Assume the data is input by console.</p>
<p>Hints: In case of input data being supplied to the question, it should
be assumed to be a console input.</p>
</blockquote>
^{pr2}$
<pre><code>value = []
items=[x for x in input().split(',')]
for p in items:
intp = int(p, 2)
value.append(intp)
for x in value:
if x%5==0:
print(bin(x))
</code></pre>