关于 / 和 // 以及 :
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