零基础学编程006:赋值语句

继续上次的一道练习题:

如何用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 ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2016-12-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏wOw的Android小站

[Objective-C] 常量和枚举

#define宏定义 #define是一条预编译指令, 编译器在编译阶段前期会将所有使用到宏的地方简单地进行替换.

662
来自专栏Google Dart

Dart语言指南(二) 顶

Dart是一种面向对象的语言 包含类和基于 mixin 的继承两部分。每个对象是一个类的实例, 并且 Object.是所有类的父类。 基于 mixin 的继承指...

1671
来自专栏散尽浮华

统计文件中出现的单词次数

这里以kevin.txt文件内容(单词由一个或多个空格字符分隔)为例进行简单说明 [root@centos6-test06 ~]# cat /root/kevi...

3039
来自专栏成猿之路

Java面试题-基础篇一

可以有多个类,但只能有一个public的类,并且public的类名必须和文件名一致。

943
来自专栏前端进阶之路

JS学习系列 07 - 标签声明(Label Statement)

我想要当 j = 2 的时候就退出所有的for语句,打印最后的 done ,你会怎么做?

872
来自专栏黑泽君的专栏

finally关键字的特点及其面试题

851
来自专栏哲学驱动设计

GIX4中懒加载

在使用OpenExpressApp框架的GIX4项目中,对象的懒加载按照对象的性质不同,分为以下两种方式: 根对象类:     Get方法:获取根对象,并附带上...

1918
来自专栏耕耘实录

Bash shell中四种算术运算方式的区别与联系简介

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

652
来自专栏Coding迪斯尼

ReactJs开发自制Monkey语言编译器:实现内嵌函数调用以及增加数组类型

942
来自专栏xx_Cc的学习总结专栏

iOS底层原理总结 - 探寻block的本质(一)

2604

扫码关注云+社区