Python 最简单的数字相乘


风变编程第18关,快要结束了,捎带着复习了一下前面的基础。结果悲剧了。

打开题目是这样的:

              比如我们想写一个根据圆的半径(R)来求面积(S)和周长(L)的代码,可以画出以下的流程图

抬眼一看,好简单的题目。抬手就写:

# 如流程图所示,求圆的面积和周长的代码
r=input('输入圆半径(单位:mm): ')
# 圆周率(pi)取3.14即可
pi=3.14
s=pi*r*r
l=2*pi*r
print('圆面积为S=',s)
print('圆周长为l=',l)

 

点击运行,悲剧了。直接报错。

输入圆半径(单位:mm): 6.5
Traceback (most recent call last):
File "/home/python-class/classroom/apps-1-id-5cd9766919bbcf00015547cd/0a89a2bc-6155-2a78-ca3e-59bba4ae84fe/main.py", line 5, in <module>
s=pi*r*r
TypeError: can't multiply sequence by non-int of type 'float'

直接蒙了,什么问题?定义不对?why?为什么?

到处查,CSDN、博客园逛遍了,只知道数据类型不对,可是从哪里改呢?一咬牙,一跺脚,挨着行来。一个个试过,最后发现input()的输入结果是字符串。于是在input前面转换,成功。

# 如流程图所示,求圆的面积和周长的代码
r=float(input('输入圆半径(单位:mm): '))
# 圆周率(pi)取3.14即可
pi=3.14
s=pi*r*r
l=2*pi*r
print('圆面积为S=',s)
print('圆周长为l=',l)

 

运行结果:

ca3e-59bba4ae84fe/main.py
输入圆半径(单位:mm): 4.3
圆面积为S= 58.0586
圆周长为l= 27.004

 

 

记录下来,主要是给自己看,以后再犯此类错误时候可以找到。有缘人看到也能顺道解决一下。

 


免责声明!

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



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