是的,这是家庭作业。 我有基本的想法。我知道基本上我需要引入一个for循环并设置如果说该值是否大于9那么它是a,b,c等等。但我需要的是让for循环抓取整数及其索引号来计算并来回转换然后打印出十六进制。顺便说一下,它是一个8位二进制数,并且必须以两位十六进制形式出现。
非常感谢!!
答案 0 :(得分:0)
我假设你有一个包含二进制数据的字符串。
在Python中,您可以迭代所有类型的东西,包括字符串。它变得如此简单:
for char in mystring:
pass
将pass
替换为您的套件(一个术语,意为“代码块”)。此时,char
将是单字符字符串。很好直接。
要获得角色序数,请调查ord
(自己寻求帮助,这并不难,这是一种很好的做法)。
要将数字转换为十六进制,您可以使用%
字符串格式设置'%x'
,这将生成类似'9f'的值,或者您可以使用hex
函数,会产生类似'0x9f'的值;还有其他方法。
如果你无法解决任何问题,请问;但首先尝试解决。这是你的功课。 : - )
答案 1 :(得分:0)
因此,假设您已经在字符串中获得了二进制数,那么您将需要一个索引变量,该变量随着for循环的每次迭代而递增。我不打算给你确切的代码,但请考虑一下:
for
索引in
列表)设置为值列表的每个值。range
功能生成一个数字列表(例如,从0到7)。binary[index]
。