码迷,mamicode.com
首页 > 编程语言 > 详细

python3运算: / 和 //

时间:2020-09-17 22:01:04      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:自动转换   整数   oat   报错   类型   圆形   radius   float   修改   

关于 / 和 // 以及 :

1 a=input("a=")
2 b=input("b=")
3 print(a//b)

报错,因为python输入默认为str,所以要进行简单的修改:

1 a=int(input("a="))
2 b=int(input("b="))
3 print(a//b)

这下就可以运行了,输入a=12,b=3,输出结果为4。

a=int(input("a="))
b=int(input("b="))
print(a/b)

输入a=12,b=3,输出结果为4.0。

这是因为商运算符 // 产生整数商,而精确除法运算符 / 总是产生浮点数。

 

当一个操作数是int而另一个是float时会发生什么呢?python如何执行这种话运算呢?

答:在执行运算之前,较不通用的类型(int)会暂时自动转换为较通用的类型(float)。

举例:比如我们计算一个圆形的面积

1 radius=input("radius=")
2 print(radius)
3 print(radius**2*3.14)

芜湖,这样肯定是报错的,因为这里radius的类型没有进行转换,是个str,接着进行简单的转换:

1 radius=int(input("radius="))
2 print(radius)
3 print(radius**2*3.14)
4 
5 结果:
6 radius=3
7 3
8 28.26

 

答案就出来咯,这样写能运行,是因为python在进行混合模式运算时,自动将int转换float了,更严谨些的话,应进行以下的代码:

1 radius=input("radius=")
2 print(radius)
3 radius=float(radius)
4 print(radius**2*3.14)

这样就可以啦,结果运算为:

1 radius=3
2 3
3 28.26

 

python3运算: / 和 //

标签:自动转换   整数   oat   报错   类型   圆形   radius   float   修改   

原文地址:https://www.cnblogs.com/mathum/p/13651919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!