<p>首先,我将解释你的代码做什么,然后,什么代码会做你想要的。你知道吗</p>
<pre><code>day = int(input('How many days did you work?: '))
start = 1
end = day
amount = 0.01 # Start and End shouldn't be a thing
total = 0 # I think this is what you wanted... the amount will double every time and the total will be increased by the amount every time
print()
print('Day Amount ($)')
print(' - ')
</code></pre>
<p>在那里初始化,没什么问题。现在,让我们看看这两个for循环。你知道吗</p>
<pre><code>for day in range(start, end + 1):
amount_end = amount_start * 2
for amount_start in (amount_start, amount_end):
print(day, amount_end, sep=' ')
</code></pre>
<p>首先,我建议不要考虑变量的名称。变量<code>day</code>已经在前面定义过了,但是由于它不再用于最初的用途,所以在这里没有太大关系。你知道吗</p>
<p>外部循环将循环通过您先前输入的次数。这里也没什么问题。<br/>
然后我们将<code>amount_end</code>的值设置为<code>amount_start</code>当前值的两倍。你知道吗</p>
<p>现在,让我们看看内部循环。这里,<code>amount_start</code>的值将通过列表<code>(amount_start, amount_end)</code>。<br/>
我们将在这个循环中循环两次,首先<code>amount_start</code>保留其初始值,然后<code>amount_start</code>取<code>amount_end</code>的值。<br/>
这个循环与</p>
<pre><code>amount_start = amount_start
print(day, amount_end, sep=' ')
amount_start = amount_end
print(day, amount_end, sep=' ')
</code></pre>
<p>然后你就能明白为什么它会把同一行打印两次。你知道吗</p>
<p>为了消除重复,使代码更具可读性,我建议使用以下代码:</p>
<pre><code>day = int(input('How many days did you work?: '))
start = 1
end = day
amount_start = 0.01
print()
print('Day Amount ($)')
print(' - ')
for day in range(start, end + 1):
amount_end = amount_start * 2
print(day, amount_end, sep=' ')
amount_start = amount_end
</code></pre>
<p>如果你对我的回答有任何疑问,请尽管问。我希望这有帮助。你知道吗</p>