首先,我要解释一下你的代码做,然后,什么样的代码会做你想要什么。
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('--- ----------')
初始化那里,没有错。现在,我们来看看两个for循环。
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=' ')
首先,我会建议不要照顾变量的名称。变量day
之前已经定义过,但由于它不再用于原来的目的,所以在这里并不重要。
外循环将循环您输入的次数。这里也没有错。
然后,我们将amount_end
的值设置为amount_start
的当前值的两倍。
现在,让我们来看看内部循环。这里,amount_start
的值将通过列表(amount_start, amount_end)
。
我们将在此循环中循环两次,首先用amount_start
保持其初始值,然后用amount_start
取amount_end
的值。
这个循环将是相同
amount_start = amount_start
print(day, amount_end, sep=' ')
amount_start = amount_end
print(day, amount_end, sep=' ')
然后你可以看到为什么它打印在同一行两次。
为了消除重复,使代码更易读,我建议下面的代码:
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
不要犹豫,问你是否有关于我的回答任何问题。我希望这有助于。
非常感谢您对此的清晰和准确的解释。这对我帮助很大。 –