有必要解决指数运算的问题

-3 投票
2 回答
78 浏览
提问于 2025-04-14 16:40

我在一个Python初学者课程中遇到了一个问题。

你有两个选择:一次性支付100万美元,或者选择1美分,这个1美分每天翻倍,持续30天(每天的金额都会翻倍)。

你需要写一个程序来计算翻倍后的金额,以确定哪种情况下得到的金额更大。

我的尝试:

i = 0.01
for i in range(31):
  day = i
  day_1 = day * (2 ** 2)
  print(i)

我不知道怎么让程序计算每一天的金额,直到第30天,除了为每一天单独指定金额——这样代码会变得非常长(每一天一行),我觉得应该有一个命令可以更快地完成这个计算。

i = 0.01
for i in range(31):
  day = i
  day_1 = day * (2 ** 2)
  
  
  print(i)

2 个回答

-1

首先,我觉得用i作为你的起始值并不是个好主意,因为i通常用作循环的计数器。你可以试试下面这个:

value = 0.01
step = 1
while step < 30:
 value = value * 2
 step = step + 1
 print(value)
0

你可以使用这段代码:

start = 0.01
temp = start

for i in range(0, 30):
  temp = temp*2

print(temp)

这段代码会有一个起始值,并把这个起始值赋给一个临时变量。接下来,在接下来的30天里,它会把这个临时变量的值每一天都翻倍,最后完成时打印出总的金额。

撰写回答