python字符串和数字相乘_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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值