加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python迭代

发布时间:2020-12-20 12:16:41 所属栏目:Python 来源:网络整理
导读:我正在尝试在 Python中创建一个简单的脚本,它将打印十六进制值并增加值,如下所示: char = 0 char2 = 0 def doublehex(): global char,char2 for x in range(255): char = char + 1 a = str(chr(char)).encode("hex") for p in range(255): char2 = char2 +
我正在尝试在 Python中创建一个简单的脚本,它将打印十六进制值并增加值,如下所示:

char = 0
 char2 = 0

 def doublehex():
    global char,char2
    for x in range(255):
        char = char + 1
        a = str(chr(char)).encode("hex")
        for p in range(255):
           char2 = char2 + 1
           b = str(chr(char2)).encode("hex")
           c = a+" "+b
           print "testing with:%s"%(c)
doublehex()

输出:

testing with:01 01
testing with:01 02
testing with:01 03
[snip]
testing with:01 fd
testing with:01 fe
testing with:01 ff

Traceback (most recent call last):
  File "test2.py",line 16,in doublehex
   b = str(chr(char2)).encode("hex")
ValueError: chr() arg not in range(256)

其实我要做的是:

01 01
01 02
[snip]
01 ff
02 01
02 02

依此类推,直到ff ff.我的剧本有什么问题?

我似乎无法尝试:

00 01
00 02

我不知道为什么.

解决方法

您需要先设置char2 = 0

for p in range(255):

实际上,你不需要计数器 – char,char2

以下将从0到ff工作

for x in range(256):
    for p in range(256):
        print chr(x).encode("hex"),chr(p).encode("hex")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读