零基础学编程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 ---
- 2018年伊始,系统编程语言Rust为何令程序员感到兴奋?
- React Native项目实战之搭建美团个人中心界面
- React Native动画Animated详解
- iOS动画总结
- React Native之react-native-scrollable-tab-view详解
- iOS 本地轻量级数据存储之NSUserDefaults
- Android Studio配置Kotlin环境
- Android 应用安装过程分析
- React Native之TextInput组件实现联想输入
- React Native之轻量级存储AsyncStorage
- [先行者课程]--0312视差效果--课堂笔记
- Android 绿色应用公约
- React-Native组件之 TabBarIOS和TabBarIOS.Item
- [先行者周日课程-0305] web前端组件 之 拖动窗口
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ESP32蓝牙的Gatt Client的例子演练
- 3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?
- 3分钟短文 | Laravel 内3种数据校验的写法,你喜欢哪一个?
- 纯JavaScript实现的MQTT智能门锁
- 3分钟短文 | Laravel 灵活地获取当前请求的路由地址
- 云原生安全 | docker容器逃逸
- 字节数组X中存放着 0~F共16个十六进制数,请将这些数以十六进制形式显示在屏幕上。
- ubuntu 16安装asp.net
- MYSQL Rewriter plugin 我那什么拯救你,垃圾系统
- 不使用华为om工具如何手工部署openGauss主从流复制环境
- 比较两个等长的字符串,若相同,则输出Match!,若不同,则输出No Match!
- 逻辑回归算法原理及实现
- Python链表详细笔记
- 26个你需要学习的Firefox配置技巧,改进体验和加快浏览器响应速度
- Softmax算法原理及实现