零基础学编程011:复利数据表问题(总结)

时间:2022-05-03
本文章向大家介绍零基础学编程011:复利数据表问题(总结),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题描述:

用Python语言输出365行的《复利数据表》:

(1+0.01) ^ 1 = 1.01 (1+0.01) ^ 2 = 1.02 (1+0.01) ^ 3 = 1.03 ... ... (1+0.01) ^ 364 = 37.41 (1+0.01) ^ 365 = 37.78

我总共写了六篇才把该程序写完:

实际上就写了两行源代码:

for i in range(1,366) :
    print( "(1+0.01) ^", i, "=", round(1.01**i, 2) )

学会了这种编程思路,改用其它编程语言实现也会非常容易,比如用C#语言实现的版本:

for (int i = 1; i < 366; i++)
    Console.Out.WriteLine("(1+0.01) ^ " + i + " = " 
          + Math.Round(Math.Pow(1.01, i), 2));

这里再把要点总结一下:

1)需要提醒的是我这里的代码全部可以在Python 3.0以上版本通过,在2.7版本时语法有不一样的地方,需要修改才行。

2)复杂的问题要采用分而治之的办法,把一个大的问题拆解为一些小的问题,逐个击破后,每次进步一点点,不断迭代来逼近最终的结果。

3)你只要明白了《零基础学编程002:Hello World》,就会知道引号内的内容称为字符串,print可以输出字符串,另外还可以输出浮点数

4)我们非常熟悉“加+、减-、乘*、除/”的运算符,Python中还支持**运算符,这里是两个乘号,表示乘方运算。1.01**3 表示1.01的3次方。

5)变量的运用,解决了第3行的输出,只需要把变量的值换一下,就可以输出其它行的内容,而print语句并不需要修改。这样程序代码可以重用,还不容易出错。

6)循环语句for的运用,可以让变量在某个范围内变化,重复执行N次。循环是计算机编程中的一种重要结构,实际上最容易理解的就是顺序结构,即代码从上到下依次执行。

7)round函数,可以把数四舍五入。

8)range函数,可以产生一个从1变到365的列表。

还需要提醒程序员新手要非常注意的地方,就是严格区分全角、半角标点符号,只要不是出现在字符串里,其它的地方都是半角的标点符号,否则程序就会出错。新手在切换输入法时的疏忽,经常会输入全角的标点,甚至是全角的空格!

以后的内容预告:

想试着把复利数据表的曲线图画出来,类似下面这张图:

这张图是我用Excel画的,我准备挑战一下,用Python来实现它。虽然我学过了N种语言,但如何用Python画图仍然是一无所知,准备使用Google搜索和英语技能来逐步解决这个问题。

另外,我快速用C#写了一个Windows上的笑来投资演小程序,也准备用Python示范一下。

--- END ---