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

相关文章

来自专栏老司机的技术博客

宝宝都能学会的python编程教程6:列表(list)

上期编程题的答案如上图。 列表(list) list是一种有序的集合,可以随时添加和删除其中的元素。 当索引超出了范围时,Python会报一个IndexErr...

3346
来自专栏塔奇克马敲代码

第 17 章 标准库特殊设施

622
来自专栏LEo的网络日志

python技巧分享(十)

40013
来自专栏PHP技术

PHP 判断数组是否为空的5大方法

本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。 转载自:PHP100 原文地址:http://ww...

39210
来自专栏代码世界

Python之迭代器和生成器

迭代器 可迭代的数据类型: list   dic   str    set     tuple      f=open()--文件句柄      range  ...

37211
来自专栏Python小屋

Python花式编程案例锦集(1)

首先解答上一篇文章详解Python中的序列解包(2)中最后的习题,该题答案为5,表达式功能为迭代求解序列中元素的最大值。 -----------------分割...

3175
来自专栏程序员互动联盟

【编程基础】c语言中获取整数和浮点数的符号位

1. 为什么要获得符号位 很多时候,我们需要判断数值的正负,来做相应的逻辑处理。条件判断语句可以很好的完成这个需求。有时候会有下面的情况, if ...

3068
来自专栏猿人谷

strcpy函数和strncpy函数的区别

strcpy函数和strncpy函数的原型介绍在我的另一篇文章中介绍了,见strcpy,strncpy,strlen等函数原型 strcpy:字串复制  ...

2146
来自专栏飞雪无情的博客

Go语言实战笔记(四)| Go 数组

数组,是用来存储集合数据的,这种场景非常多,我们编码的过程中,都少不了要读取或者存储数据。当然除了数组之外,我们还有切片、Map映射等数据结构可以帮我们存储数据...

633
来自专栏java学习

第2天的练习

大家把答案在留言区留下来 1:什么是变量?变量的定义格式?要使用变量需要注意什么? 2:Java中的数据类型分几类?基本数据类型有哪些? 3:数据类型转换: ...

3337

扫描关注云+社区