鱼C论坛

 找回密码
 立即注册
查看: 5123|回复: 1

初学者:为什么报错invalid literal for int() with base 10

[复制链接]
发表于 2017-7-14 13:14:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想设计个随意输入一个数字,四舍五入后输出整数的操作。

开始这么写:
x =input("Enter an value : ")
x=int(x+0.5)
print(x)

结果:报错:
”Traceback (most recent call last):
  File "C:/Users/pc/AppData/Local/Programs/Python/Python36/1.py", line 2, in <module>
    x=int(x+0.5)
TypeError: must be str, not float

后来尝试把输入的值,按整数输出
x =int(input("Enter an value : "))
print(x)
结果还是报错:
Traceback (most recent call last):
  File "C:/Users/pc/AppData/Local/Programs/Python/Python36/1.py", line 1, in <module>
    x =int(input("Enter an value : "))
ValueError: invalid literal for int() with base 10: '2.2'

为什么呀,实在不明白????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-14 14:50:37 | 显示全部楼层
x =input("Enter an value : ")

这里 x 得到的是一个 str 类型,所以下面应该是:

x = int(float(x) + 0.5)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 10:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表