python3运算: / 和 //以及int*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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM