简单的小问题
为啥输入1.2无效?程序想要实现的是输入小数,转为2进制码,当小数的整数部分或小数部分为零时,输出0.0,否则输出正常的二进制码题目:编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制小数,小数点后最多保留10位。小数点后不足10位,则输出这些位,尾部不补0;小数点后超出10位,则直接舍弃超出部分。
对应输入小数的二进制小数字符串。若整数部分或者小数部分为0,则输出0。比如输入0,则意味着输出0.0。
菜de嚣张 发表于 2021-6-6 00:02
题目:编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小 ...
因为int("1.2")系统不识别
应该改成int(float("1.2")) 但是是int(eval("1.2"))啊 本帖最后由 qq1151985918 于 2021-6-6 08:15 编辑
菜de嚣张 发表于 2021-6-6 08:01
但是是int(eval("1.2"))啊
你报错的是倒数第四行,看清楚问题在哪。那里没有eval
另外你这行代码有问题,
应该是 if float(c) == 0:就够了,不要再加别的
否则,假如输入 c = "8"
int("8") == 0==> False但是
float("8") - int("8") == 0==> True
也就数说,只要是一个整数都会打印 0.0
这是不对的
页:
[1]