|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小甲鱼的龟壳儿 于 2019-10-24 17:16 编辑
本人小白,这是我的代码,想用代码实现数字四舍五入:
- print('--------------四舍五入取数,违背pythony意愿----------------')
- temp = input('请输入一个正数:')
- number1 = float(temp)
- number2 = int(temp)
- number3 = number1 - number2
- if number3 == 0:
- print(number2)
- else:
- if nubmer3 < 0.5:
- print(number2)
- else:
- print(number2 + 1)
复制代码
1、为什么程序执行到number2 = int(temp)时
输入整数不报错 输入浮点数报错,这是为啥啊
int()不是能够将输入的数字型字符截断转换为整数吗?
2、当按照答主 @yuweb 的方法将 number2 = int(temp) 改为 number2 = int(float(temp))时运行后,
程序又报错啦T_T,
这次告诉我number3 未定义,随后我在shell里模拟了一下代码如下:
number1 = 1.5
number2 = 1
number3 = number1-number2
print(number3)
结果是0.5,并未报错,这是咋回事儿呢,我也没有给number3定义呀?
求告知,非常感谢各位大佬^_^ ^_^!
1. int() 函数并没有你想象中那么智能,它只会将传入的数据强制转化成整数,如果字符串中不是合法的整数就会报错,例如 2.5、2+1、3.0 都不是合法的整数。
2. 楼主粗心,拼写出了问题,改过来就好了
if nubmer3 < 0.5:
|
|