继续上次的一道练习题:
如何用Python打印这篇看上去很枯燥的《复利数据表》: (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
在《零基础学编程005:打印一行复利数据》里,我们已经能够输出其中的第3行数据,源程序只有一行:
print( "(1+0.01) ^ 3 ", "=", 1.01**3 )
与下面这行代码的结果是一样的,仔细看一下它们的区别:
print( "(1+0.01) ^", 3, "=", 1.01**3 )
如果我想输出第100行数据,则是:
print( "(1+0.01) ^", 100, "=", 1.01**100 )
《复利数据表》共有365行,难道要这样写上365次?肯定不会,实际上这个print语句中,只有那个指数发生变化,从1到365,如果用引入一个变量,则每次的print语句就不需变了,源代码变成2行:
i = 3
print( "(1+0.01) ^", i, "=", 1.01**i )
输出第100行?就这样:
i = 100
print( "(1+0.01) ^", i, "=", 1.01**i )
可以看到,print那一行只字未改。现在我们还没有学循环语句,但用笨办法也可以完成任务了。只要写上365次赋值语句,分别把 i 的值设置为1到365,再复制、粘贴那行print语句365次,就可以打印复利数据表了。
更多说明:
i = 1
......
i = 365
这两行语句就是赋值语句,几乎所有的编程语言都类似。等号左侧是变量名称,右侧是一个数值(准确地说,应该是表达式,这个先不讲)。理解这个赋值语句的时候要从右向左读,把3赋给变量i,再把100赋给变量i。此时,计算机会把内存中一个地方放上数值3,然后再放上100,把以前的3冲掉。
变量的名称由字母和数字构成(下划线也行),要以字母打头,中间不能有空格。例如:i、Money、qq360、ALPHA、a1b2c3这些都有正确的变量名。在Python中甚至可以用汉字当变量名,例如:
申龙斌 = 1971
但我从来没见过程序员这么用,因为这种程序将来用在其它地方时很可能会有副作用,知道就行但别这样用!
下面这行代码,初学者需要理解一下。
i = i + 1
从右向左读,表示把当前 i 的值加上1之后,赋给变量 i 中,效果就是 i 增一。实际上有些程序员画流程图时,写成这样 i + 1 → i,容易理解一些。
总结一下要点:
下次讲循环,就可以用两行语句打印出复利数据表了。
--- END ---