零基础学编程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 条评论
登录 后参与评论

相关文章

来自专栏我的小碗汤

Go语言常见坑

这里列举的Go语言常见坑都是符合Go语言语法的, 可以正常的编译, 但是可能是运行结果错误, 或者是有资源泄漏的风险。

583
来自专栏owent

POJ 3267 The Cow Lexicon 解题报告

1.可以令 deleteNum[pos]为输入字符串在pos处需要删除的最少字符数量;

582
来自专栏偏前端工程师的驿站

JS魔法堂:追忆那些原始的选择器

一、前言                                                                            ...

1797
来自专栏锦小年的博客

python学习笔记2.5-数据结构之字典

Python中的字典是python的一种数据结构,它的本质是key和value以及其对应关系的一种集合,一个key可以对应一个多个value。合理的使用字典能给...

1987
来自专栏一枝花算不算浪漫

[Java拾遗一] XML的书写规范与解析.

42120
来自专栏安恒信息

利用WPAD/PAC与JScript实现Windows 10远程代码执行

简介 Project Zero团队在google发表了一篇关于利用WPAD/PAC和JScript在本地网络中实现Windows10远程代码执行的博客,笔者根据...

2025
来自专栏Java技术栈

volatile关键字解析~高级java必问

昨天我介绍了原子性、可见性、有序性的概念,那么今天就来见识下这些概念的主角-volatile关键字。 volatile基本介绍 volatile可以看成是syn...

2676
来自专栏我是攻城师

Apache Pig学习笔记之内置函数(三)

3574
来自专栏LeoXu的博客

Flex笔记_MX DataGrid、列表和树

columnCount、columnWidth、dataProvider、iconField、iconFunction、labelField、labelFun...

812
来自专栏游戏杂谈

HTML5的data-* 要注意的问题

首先第一个问题,比较简单,直接使用dom.dataset,如果“===”undefined则不支持

112

扫码关注云+社区