《python语言程序设计》第8章第9题将二进制数作为字符串转换十六进制print和return的区别

请添加图片描述

在这里我发现了return和print的区别


def binary_to_hex(binary_value):
    len_text = len(binary_value)

    for i in range(0, len_text, 4):
        #能把二进制分成四组进行打印
        print(binary_value[0 + i:4 + i])
        #只能运行将前4个数分成一组
        return binary_value[0 + i:4 + i]
        


a = binary_to_hex("1000100011001010")


print(a)

如果运行的是“print请添加图片描述

如果运行"return"

请添加图片描述

解决

# 存储十六进制和二进制之间的代码
def binary_to_text(binary_text):
    if binary_text == "0000":
        return 0
    elif binary_text == '0001':
        return 1
    elif binary_text == '0010':
        return 2
    elif binary_text == '0011':
        return 3
    elif binary_text == '0100':
        return 4
    elif binary_text == '0101':
        return 5
    elif binary_text == '0110':
        return 6
    elif binary_text == '0111':
        return 7
    elif binary_text == '1000':
        return 8
    elif binary_text == '1001':
        return 9
    elif binary_text == '1010':
        return 'a'
    elif binary_text == '1011':
        return 'b'
    elif binary_text == '1100':
        return 'c'
    elif binary_text == '1101':
        return 'd'
    elif binary_text == '1110':
        return 'e'
    elif binary_text == '1111':
        return 'f'


def binary_to_hex(binary_value):
    len_text = len(binary_value)

    if len_text % 4 == 0:
        for i in range(0, len_text, 4):
         print(binary_to_text(binary_value[0 + i:4 + i]),end=" ")


    else:
        print("This is invalid number.")




def main():
    binary_to_hex("1000100011001010")


main()

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电饭叔

谢谢各位兄弟们的关注,谢谢破费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值