2841239465 发表于 2020-10-20 22:51:19

【萌新求助】

不应该啊,就算我输入了浮点型的,他不转化为整型反而报错是为什么啊

2269099035 发表于 2020-10-20 22:57:21

改成float(num1)跟float(num2)

昨非 发表于 2020-10-20 22:58:04

input返回值是字符串,如果字符串里带有小数点,转为int时就会出错
所以不能输入小数

昨非 发表于 2020-10-20 23:08:27

2269099035 发表于 2020-10-20 22:57
改成float(num1)跟float(num2)

这是“整数加法器“啊

linke.zhanghu 发表于 2020-10-20 23:12:28

这里涉及到数据的类型转换的问题
如果一个数据是float那么转成int是没有任何问题的 比如100.25 就可以直接转成100
但是,你需要注意的是input()接收到的任何输入都是字符串类型也就是str类型
res = input('请输入一个数字')
print(type(res))# 看看res的数据类型就知道了.res一定是一个str类型的数据
str类型转成int的前提是 必须是一个纯整数数字组成的字符串 比如;'123''215641''44654''0000' 这样的字符串 注意我加了   ''   号
但是,如果你的字符串是 '123.1541' 这样的形式 这就不是一个纯整数数字组成的字符串了. 这是一个小数字符串所以,你不能直接把这个字符串转成int类型
你需要在中间加一步操作,就是把这个小数字符串,转成小数,然后在把这个小数转成整数
str -> float -> int
代码可以改成
num1 = int(float(num1))
num2 = int(float(num2))
页: [1]
查看完整版本: 【萌新求助】