Python——函数

一、十进制小数转换成二进制小数

【问题描述】

编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制小数,小数点后最多保留10位。小数点后不足10位,则输出这些位,尾部不补0;小数点后超出10位,则直接舍弃超出部分。

【输入形式】

十进制浮点小数
【输出形式】

对应输入小数的二进制小数字符串。若整数部分或者小数部分为0,则输出0。比如输入0,则意味着输出0.0 。
【样例输入】

1.2
【样例输出】

1.0011001100
【样例说明】
输入为10进制小数,将该小数转化成二进制后输出。推荐采用字符串来处理生成的二进制数,特别要注意0的处理

def zheng(m):
    s = ''
    while m != 0:
        r = m % 2
        m = m // 2
        s = str(r) + s
    return s


def xiao(x):
    s = ''
    i = 0
    while x != 0 and i <= 9:
        x = x * 2
        if x >= 1:
            s = s + '1'
            x = x - 1
        else:
            s = s + '0'
        i += 1
    return s


e = input()
b = eval(e)
c = int(b)
d = ''
for k in range(0, len(e)):
    if e[k] == '.':
        d = '0.' + e[k + 1:len(e)]
if c == 0 and d == '':
    print('0'+'.'+'0')
elif c 

你可能感兴趣的:(Python,python)