习题 3 数字和数学计算

每一种编程语言都包含处理数字和进行数学计算的方法。不必担心,程序员经常撒谎说他们是多么牛的数学天才,其实他们根本不是。如果他们真是数学天才,他们早就去从事数学相关的行业了,而不是写写广告程序和社交网络游戏,从人们身上偷赚点小钱而已。

这章练习里有很多的数学运算符号。我们来看一遍它们都叫什么名字。你要一边写一边念出它们的名字来,直到你念烦了为止。名字如下:

+ plus 加号
- minus 减号
/ slash 斜杠
* asterisk 星号
% percent 百分号
< less-than 小于号
> greater-than 大于号
<= less-than-equal 小于等于号
>= greater-than-equal 大于等于号

有没有注意到以上只是些符号,没有运算操作呢?写完下面的练习代码后,再回到上面的列表,写出每个符号的作用。例如 + 是用来做加法运算的。

print ("I will now count my chickens:") #输出纯文本

print ("Hens", 25 + 30 / 6) #输出

print ("Roosters", 100 - 25 * 3 % 4)

print ("Now I will count the eggs:")

print (3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6)

print ("Is it true that 3 + 2 < 5 - 7?")

print (3 + 2 < 5 - 7)

print ("What is 3 + 2?", 3 + 2)
print ("What is 5 - 7?", 5 - 7)

print ("Oh, that‘s why it‘s False.")

print ("How about some more.")

print ("Is it greater?", 5 > -2)
print ("Is it greater or equal?", 5 >= -2)
print ("Is it less or equal?", 5 <= -2)

I will now count my chickens:

Hens 30.0

Roosters 97

Now I will count the eggs:

6.75

Is it true that 3 + 2 < 5 - 7?

False

What is 3 + 2? 5

What is 5 - 7? -2

Oh, that‘s why it‘s False.

How about some more.

Is it greater? True

Is it greater or equal? True

Is it less or equal? False

加分习题

1.使用 # 在代码每一行的前一行为自己写一个注解,说明一下这一行的作用。

2.记得开始时的 <练习 0> 吧?用里边的方法把 Python 运行起来,然后使用刚才学到的运算符号,把Python当做计算器玩玩。

3.自己找个想要计算的东西,写一个 .py 文件把它计算出来。

print (250*2+38-17.8686)

print("250*2+38-17.8686")

250*2+38-17.8686

520.1314

250*2+38-17.8686

520.1314

4.有没有发现计算结果是”错”的呢?计算结果只有整数,没有小数部分。研究一下这是为什么,搜索一下“浮点数(floating point number)”是什么东西。

print (75/4)
print (75.0/4)
print (75/4.0)
print (75.0/4.0)
print (75.000/4.000)

18.75

18.75

18.75

18.75

18.75

5.使用浮点数重写一遍 ex3.py,让它的计算结果更准确(提示: 20.0 是一个浮点数)。

原文地址:https://www.cnblogs.com/lshnice/p/9251262.html

时间: 2024-10-07 15:54:07

习题 3 数字和数学计算的相关文章

【JavaScript】数学计算的函数与数字的格式化

JavaScript中使用5中数学计算符号,+,-,*,/,% 常用的函数 Math.ceil 向上取整,Math.ceil(4.2)的返回值为5 Math.floor  向下取整,Math.floor(4.7)的返回值为4 Math.round  四舍五入,Math.round(4.2)的返回值为4,Math.round(4.7)的返回值为5 Math.pow  计算幂值,Math.pow(2,4)返回16 Math.sqrt 开方计算,Math,sqrt(9)返回3 Math.random

理工科应该的知道的C/C++数学计算库(转)

理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件系统的某一个很有限的功能,你是不是也要因此再用一用那动辄几个g的软件呢?其实我觉得如果系统不是很大,不是很复杂,我们个人完全有可能自己去编写代码来实现这些‘’有限的功能‘’.别以为这是件很困难的事情,我总以为大学期间学的c语言是极其有用的,只要你会基本的c语言语法,你就可以的. 下面我来介绍几个非常

4 个用于执行高级数学计算的 JavaScript 库

在使用JavaScript执行数学方面的任务时,往往要用到浮点运算,且需要精确到某位小数,这就容易造成错误,而且会相当费时.因此,如果你需要做一些高精度的数学计算的编程工作,比如财务或科学计算,那么你一定需考虑使用下面的这些库. 1.  numbers.js numbers.js提供了大量的.可用于服务器端的数学功能,你可以用它来执行下面这些任务: 基本计算(如两数相加) 复数 微积分 数字信号处理(DSP) 矩阵运算 素数计算 统计 迭代计算(如斐波那契数列) 要使用numbers.js,你首

[笔记]shell编程:数学计算

在shell Script中,有好几种进行数学运算的方法,虽然有几个效果差不多,在编写程序的时候使用一种方法就够了,但是我们可能还需要学习别人的程序啊,在阅读别人的程序的时候不能不认识这些东西吧.所以,留个笔记. 一.expr 命令  --  expr 允许在命令行上处理数学表达式,但是略显拙劣. 例:$ expr 1 + 5    #注意在表达式中要有空格,如果写成1+5那么结果就不是我们想要的了. expr命令能够识别一些不同的数学和字符串操作符: 操作符 描述 arg1 | arg2 如果

dx11 入门 Tutorial 04: DX、HLSL中矩阵的内存存储和数学计算方式 DirectXSampleBrowser(June 2010)

主要是两方面: 1.shader数据和dx的通信,使用constant Buffer 2.矩阵的数学计算方式和内存存储方式再DX和HLSL中的异同 先说第一个: dx中的常量数据matrix等传入shader中流程: The first thing that we need to do is declare three constant buffer variables. Constant buffers are used to store data that the application n

习题单词数字匹配

1.步骤: ①创建文档解析器的工厂对象 ②得到文档解析器对象 ③获取输入流对象 ④通过解析器的parse方法解析is对象 转换成Document对象 ⑤返回的是文档的根节点 ⑥判断是否有孩子节点进行获取子节点转换成元素节点得到属性节点 ⑦得到具体的某个属性节点 2.解析元素节点.属性节点.文本节点: 3.界面搭建 界面搭建的相关代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

bash/shell 数学计算

$ echo $((20.0/7)) $ zcalc $ bc <<< 20+5/2 $ bc <<< 'scale=4;20+5/2' $ expr 20 + 5 $ calc 2 + 4 $ node -pe 20+5/2 # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI $ echo 20 5 2 / + p | dc $ echo 4 k 20 5 2 / + p | dc $ perl -

关于JS数学计算精度不准和自动转科学计数法的问题

在javaScript中,数学计算是一个很坑爹的问题, 由于系统二进制转十进制的误差,导致浮点数的运算精度很不理想,经常会出现一些意想不到的问题. 而js自动将小数转为科学计数法的问题,也让一些自己写数学插件的同学痛苦不已. 第一个,浮点数计算精度: 比如:1.2*3 = 3.599999999.... 解决办法: ⑴将浮点数乘以10的n次幂化为整数,再进行计算,之后再除以10的n次幂,就可以得到我们想要的数值.即:1.2*3 = 12*3/10 = 3.6;(n为小数点后数位之和); 至于多个

[LeetCode] 数学计算模拟类问题:除法和幂,注意越界问题。题 Pow(x, n) ,Divide Two Integers

引言 数学计算的模拟类题目,往往是要求实现某种计算(比如两数相除),实现的过程中会有所限定,比如不允许乘法等等. 这类题目首先要注意计算过程中本身的特殊情况.比如求相除,则必须首先反映过来除数不能为0. 其次要记得考虑负数的情况,如果计算范围不单单是整数,还要考虑double的比较方式. 最后要注意越界情况,这个是最容易犯错的,只能具体问题具体分析. 例题 1 Pow(x, n) Implement pow(x, n). class Solution { public: double pow(d