章节
问答
课签
笔记
评论
占位
占位

Python的整数与浮点数

在Python中,整数和浮点数虽然属于不同的数值类型,但是在运算上是可以一起运算的,这从生活经验出发,也是可以理解的。

四则运算

整数、浮点数可以直接进行四则运算。

# 加法
num1 = 10
num2 = 0.5
result = num1 + num2
print(result) # ==> 10.5
# 减法
result = num1 - num2
print(result) # ==> 9.5
# 乘法
result = num1 * num2
print(result) # ==> 5.0
# 除法
result = num1 / num2
print(result) # ==>20.0

从上面可以发现一个规律,整数和浮点数运算后 ,得到的结果不管小数点后是否有值,结果都变成浮点数了,这是合理的,浮点数可以表达整数的结果,但是整数不能表达浮点数的结果。
注意:在Python2使用除法可能和Python3得到不一样的结果

# python2
num1 = 10
num2 = 3
result = num1 / num2
print(result) # ==> 3
# python3
num1 = 10
num2 = 3
result = num1 / num2
print(result) # ==> 3.3333333333333335

可以看到在python2,得到的是一个整数的结果,这是因为除数和被除数都是整数时,得到的结果也默认保存为整数了,这是非常不科学的,因此在python3,改进了这一点。

取模运算

Python数字支持取模运算,使用百分号%表示取模。

print(3 % 2) # ==> 1
print(33 % 10) # ==> 3
print(99 % 30) # ==> 9

恰当使用取模运算,可以判断一个数是否为偶数,当一个数对2取模结果为0时,则这个数为偶数,否则为奇数。

print(3 % 2) # ==> 1 因此3为奇数
print(33 % 2) # ==> 1 因此33为奇数
print(100 % 2) # ==> 0 因此100为偶数

地板除

Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。

10//4 # ==> 2
10//2.5 # ==> 4.0
10//3 # ==> 3

小数点位数

使用Python计算小数的时候,经常需要保留小数点后若干位,可以使用round()函数来处理,这里先了解round的调用方式,使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。

num = 10 / 3
print(num) # ==> 3.3333333333333335
# 使用round保留两位小数
round(num, 2) # ==> 3.33

任务

一个长方形的长为3.14cm,宽为1.57cm,请计算这个长方形的面积,保留小数点后两位。

?不会了怎么办

参考答案:

length = 3.14
width = 1.57
result = round(length * width, 2)
print(result)
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 木林森_gnzN56
没有换行,要不用分号隔开。

最新回答 / 齐_fkPY13
按回车不就下一行了吗

最新回答 / 慕后端9557555
因为2.0000000 python自动省略了多余的0

最新回答 / 南溪杨
取模运算是指余数吗?

最新回答 / 尼古拉斯李铁蛋
你的代码我试了,能运行。结果是 
4.93

最赞回答 / 慕用0504322
round本身不能输出要套在print里面print(round(s,2))

最新回答 / 時頌望見
可以正常打开啊,是不是你的网络问题,如果不行的话,清理一下浏览器的缓存

最新回答 / 幻想科學家
首先你得把報錯代碼貼出來下,其次你用help函數看下round函數的定義,還有盡量函數類的操作數數據類型保持一致,python這方面卡的死得很

已采纳回答 / liakin
直接用5 / 3的话会被认为是整数类型的运算,最后结果会输出整数类型,用5.0 / 3.0即可

最新回答 / Clzypx
round(变量,保留几位小数(填阿拉伯数字))

最赞回答 / qq_慕尼黑6239980
取模就是求余数啊,99除30就是余9

最新回答 / weixin_慕少4178098
a=3.14b=1.57S=a*bprint(round(S,2))

最新回答 / 嗯哼itsme
num = 10 / 3print(round(num,2))
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言