Python 每学期学费计划

Python 每学期学费计划,python,Python,我正在写一个学费计划。我的问题是:我怎样才能得到这四年的总数,而不是像我那样写出总数+=(8240+8487.20+8741.82+9004.07)*2 您可以创建一个列表来保存每年的值。 在此示例中,列表的元素“i”对应于年份“i+1”,因为列表从0到4 tuition = 8000.00 tuition_year = [tuition] for i in range(1, 5): tuition_year.append(tuition_year[i-1] * 1.03) total

我正在写一个学费计划。我的问题是:我怎样才能得到这四年的总数,而不是像我那样写出总数+=(8240+8487.20+8741.82+9004.07)*2


您可以创建一个列表来保存每年的值。 在此示例中,列表的元素“i”对应于年份“i+1”,因为列表从0到4

tuition = 8000.00
tuition_year = [tuition]
for i in range(1, 5):
    tuition_year.append(tuition_year[i-1] * 1.03)

total = sum(tuition_year)

您可以创建一个列表来保存每年的值。 在此示例中,列表的元素“i”对应于年份“i+1”,因为列表从0到4

tuition = 8000.00
tuition_year = [tuition]
for i in range(1, 5):
    tuition_year.append(tuition_year[i-1] * 1.03)

total = sum(tuition_year)

另外,在for循环之前创建一个
空列表
,用于存储学费,然后调用python
sum()
function,返回列表中所有值的总和

给定的代码

    tutions=[]
    for i in range(1,6):
        #Tuition increased by 3% each year for the next 5 years
        tuition += tuition*0.03
        #Displays tuition fee for each year
        print(i,'\t',format(tuition, '.2f'))
        tutions.append(tutions)

    total += sum(tutions)
    print("Total tuition in 4 years: $", format(total,\
          '.2f'),sep = '')

另外,在for循环之前创建一个
空列表
,用于存储学费,然后调用python
sum()
function,返回列表中所有值的总和

给定的代码

    tutions=[]
    for i in range(1,6):
        #Tuition increased by 3% each year for the next 5 years
        tuition += tuition*0.03
        #Displays tuition fee for each year
        print(i,'\t',format(tuition, '.2f'))
        tutions.append(tutions)

    total += sum(tutions)
    print("Total tuition in 4 years: $", format(total,\
          '.2f'),sep = '')
每个教程都会附加(添加)到一个列表中,因此最终会得到一个包含5个元素的列表

然后我用enumerate()遍历列表。这让我可以访问每个列表项,还可以创建一个索引号(0-5)。我使用list[:4]将列表限制为4

然后我在字符串中使用内联变量,因为我喜欢这样做。我对列表求和,再次将其限制为前4项,然后乘以2

输出:

>>> Year 1  Tuition $8240
>>> Year 2  Tuition $8487
>>> Year 3  Tuition $8742
>>> Year 4  Tuition $9004
>>> Total for 4 years $68946
编辑:

作为对OPs评论的回应。 你可以像这样将4个学费分配给变量

def main():
    tuition = 8000.00
    tuition_list = []

    tuition_yr1 = tuition * 1.03
    tuition_yr2 = tuition_yr1 * 1.03
    tuition_yr3 = tuition_yr2 * 1.03
    tuition_yr4 = tuition_yr3 * 1.03

    total_cost_over_4yrs = (tuition_yr1 + tuition_yr2 + tuition_yr3 + tuition_yr4) * 2

    print('Year 1', tuition_yr1)
    print('Year 2', tuition_yr2)
    print('Year 3', tuition_yr3)
    print('Year 4', tuition_yr4)
    print('Total over 4 years', total_cost_over_4yrs)

main()
每个教程都会附加(添加)到一个列表中,因此最终会得到一个包含5个元素的列表

然后我用enumerate()遍历列表。这让我可以访问每个列表项,还可以创建一个索引号(0-5)。我使用list[:4]将列表限制为4

然后我在字符串中使用内联变量,因为我喜欢这样做。我对列表求和,再次将其限制为前4项,然后乘以2

输出:

>>> Year 1  Tuition $8240
>>> Year 2  Tuition $8487
>>> Year 3  Tuition $8742
>>> Year 4  Tuition $9004
>>> Total for 4 years $68946
编辑:

作为对OPs评论的回应。 你可以像这样将4个学费分配给变量

def main():
    tuition = 8000.00
    tuition_list = []

    tuition_yr1 = tuition * 1.03
    tuition_yr2 = tuition_yr1 * 1.03
    tuition_yr3 = tuition_yr2 * 1.03
    tuition_yr4 = tuition_yr3 * 1.03

    total_cost_over_4yrs = (tuition_yr1 + tuition_yr2 + tuition_yr3 + tuition_yr4) * 2

    print('Year 1', tuition_yr1)
    print('Year 2', tuition_yr2)
    print('Year 3', tuition_yr3)
    print('Year 4', tuition_yr4)
    print('Total over 4 years', total_cost_over_4yrs)

main()

谢谢你的意见。我知道这可能是最有效的方法,但我还没有了解列表。还有别的办法吗?也许使用if语句或其他更基本的东西。当然,检查我的回答,我添加了一种方法,感谢您的输入。我知道这可能是最有效的方法,但我还没有了解列表。还有别的办法吗?也许使用if语句或其他更基本的东西。当然,检查我的回答,我添加了一种方法