如何使用for循环制作二进制到十六进制转换器 - Python

时间:2011-08-22 12:48:37

标签: python

是的,这是家庭作业。 我有基本的想法。我知道基本上我需要引入一个for循环并设置如果说该值是否大于9那么它是a,b,c等等。但我需要的是让for循环抓取整数及其索引号来计算并来回转换然后打印出十六进制。顺便说一下,它是一个8位二进制数,并且必须以两位十六进制形式出现。

非常感谢!!

2 个答案:

答案 0 :(得分:0)

我假设你有一个包含二进制数据的字符串。

在Python中,您可以迭代所有类型的东西,包括字符串。它变得如此简单:

for char in mystring:
    pass

pass替换为您的套件(一个术语,意为“代码块”)。此时,char将是单字符字符串。很好直接。

要获得角色序数,请调查ord(自己寻求帮助,这并不难,这是一种很好的做法)。

要将数字转换为十六进制,您可以使用%字符串格式设置'%x',这将生成类似'9f'的值,或者您可以使用hex函数,会产生类似'0x9f'的值;还有其他方法。

如果你无法解决任何问题,请问;但首先尝试解决。这是你的功课。 : - )

答案 1 :(得分:0)

因此,假设您已经在字符串中获得了二进制数,那么您将需要一个索引变量,该变量随着for循环的每次迭代而递增。我不打算给你确切的代码,但请考虑一下:

  • Python's for loop旨在将索引变量(for索引in列表)设置为值列表的每个值。
  • 您可以使用range功能生成一个数字列表(例如,从0到7)。
  • 您可以使用例如字符串获取字符串中给定索引处的字符。 binary[index]