小可爱. 发表于 2020-9-28 21:41:43

为什么输入8.0就报错


为什么输入8.0就报错

昨非 发表于 2020-9-28 21:47:47


print(int("8"))
print(int("8.0"))

字符串中是整数可以转换成int
字符串中是浮点数是不允许的

疾风怪盗 发表于 2020-9-28 21:49:04

刚回答这个问题
https://fishc.com.cn/thread-181189-1-1.html
看这个发帖,是一样的问题

小可爱. 发表于 2020-9-28 22:17:25

输入的8.0不是字符串吧

小可爱. 发表于 2020-9-28 22:23:56

昨非 发表于 2020-9-28 21:47
字符串中是整数可以转换成int
字符串中是浮点数是不允许的

输入的8.0不是字符串吧它不是一个数值吗

jackz007 发表于 2020-9-28 22:24:56

小可爱. 发表于 2020-9-28 22:17
输入的8.0不是字符串吧

       通过 input() 取得的任何键盘输入,其类型一定是字符串。

昨非 发表于 2020-9-28 22:25:10

小可爱. 发表于 2020-9-28 22:23
输入的8.0不是字符串吧它不是一个数值吗

input()方法返回的就是字符串
你可以去试试,加强印象

昨非 发表于 2020-9-28 22:26:31

小可爱. 发表于 2020-9-28 22:23
输入的8.0不是字符串吧它不是一个数值吗

      
a = input("请输入:")
print(type(a))

小甲鱼 发表于 2020-9-28 22:58:21

小可爱. 发表于 2020-9-28 22:17
输入的8.0不是字符串吧

导致这个报错的原因是 int(teep) 这一句,请参考文档(https://fishc.com.cn/thread-144631-1-1.html),int() 如果读取到一个无法转换为整数的参数,则抛出 ValueError 的异常。

昨非 发表于 2020-9-28 23:00:47

小甲鱼 发表于 2020-9-28 22:58
导致这个报错的原因是 int(teep) 这一句,请参考文档(https://fishc.com.cn/thread-144631-1-1.html), ...

终于见到鱼哥本尊活动了{:10_266:}

heidern0612 发表于 2020-9-29 07:07:26

因为字符串类型的浮点数没办法直接转换成整形。

必须先float过渡一下,才能int化成为整形。
页: [1]
查看完整版本: 为什么输入8.0就报错