擅长:python、mysql、java
<p>这是我第一次回答我自己的问题,所以希望这是正确的。如果有人有补充或进一步的答案,那么请随时回答,或对这一点发表评论。在</p>
<p>最后,我通过在buildPacketHeader的return语句中添加另一个返回值来解决这个问题,这样除了返回一个字符串之外,我还返回了bit的新值。我通过在buildPacketHeader内部设置以下打印来确认其工作正常:</p>
<pre><code>#add ABP
print "before:",ABP #test line for flipBit
ABP = flipBit(ABP)
abp = str(ABP)
print "after:",ABP #test line for flipBit
</code></pre>
<p>它的输出显示在这里(我很早就结束了,但是功能证明仍然可见)</p>
^{pr2}$
<p>可以看出,第二分组的前面是第一分组的后面,第三分组的前面是第二分组的后面。通过这个,你可以看到程序现在正在正确地翻转位。在</p>
<p>对buildPacketHeader所做的更改如下所示:</p>
<pre><code>return Header
</code></pre>
<p>变成</p>
<pre><code>return Header, ABP
</code></pre>
<p>以及对buildPacketHeader的调用:</p>
<pre><code>filesizestr = buildPacketHeader(IP,PORT,1,bit)
</code></pre>
<p>成为</p>
<pre><code>filesizestr, bit = buildPacketHeader(IP,PORT,1,bit)
</code></pre>
<p>这样的麻烦很简单。如果要更改值,请确保返回值。在</p>