python3中,字符串如何转化为数字,不区分整数还是浮点数?

本人小白,自学python,遇到点低级问题,请各位大牛小牛解答下。。。代码如下:a=input("请输入小明的体重:")b=input("请输入小明他爹的体重:")c=a... 本人小白,自学python,遇到点低级问题,请各位大牛小牛解答下。。。
代码如下:
a=input("请输入小明的体重:")
b=input("请输入小明他爹的体重:")
c=a+b
print(c)
我想要的是小明和他爸爸的体重之和。
如果分别输入 20 50
那么得到的结果是2050,这个是因为input的是str,我可以理解。

如果c=int(a)+int(b)
那么结果70,这个也没问题。

但是,如果 小明的体重是未知的 可能是20,也可能是20.5
那么,第三行代码应该怎么写呢 除了c=float(a)+float(b)?
因为现实中我们输入的很多数据都不知道是整形还是浮点型,
有没有什么办法,不管我们输入的是什么类型性的数字,都能带入公式运算呢?
谢谢,
展开
 我来答
183525594
2016-10-07 · TA获得超过2922个赞
知道大有可为答主
回答量:3664
采纳率:58%
帮助的人:2083万
展开全部
c=float(a)+float(b)
if int(c) == c:
print(int(c))
print(c)
追答
或 print(int(c) if int(c) == c else c)
追问
谢谢大侠。解决办法是能想到,我就是纠结,为什么这语言不能定义一个数字类型,无论变量输入的是什么型,都可以计算,,,
之前做了一个比较复杂的公式,用eval()能解决类似的问题,,但是eval()用在这里就报错了。。。不知为何。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式