Python 3.x 不使用任何软件包的二维绘图仪

Python 3.x 不使用任何软件包的二维绘图仪,python-3.x,Python 3.x,假设我们有10x10像素(作为坐标),我们想要绘制数据。 在使用10x10之前,我开始使用3x3。该项目的要点是,假设我们有坐标(1,2),我们从那个点开始。我想把坐标设为字典。然后我使用了两个循环。我的密码在下面 我得到错误密钥错误:0 文件“/home/caglar/temp.py”,第6行,在 如果听写[我]=j: 关键错误:0 dict={1:3,2:1,3:1} xarr=[] yarr=[] for i in range(0,3): for j in range(0,3):

假设我们有10x10像素(作为坐标),我们想要绘制数据。 在使用10x10之前,我开始使用3x3。该项目的要点是,假设我们有坐标(1,2),我们从那个点开始。我想把坐标设为字典。然后我使用了两个循环。我的密码在下面

我得到错误密钥错误:0

文件“/home/caglar/temp.py”,第6行,在 如果听写[我]=j:

关键错误:0

dict={1:3,2:1,3:1}
xarr=[]
yarr=[]
for i in range(0,3):
    for j in range(0,3): 
        if dict[i]!=j:
            xarr.append("") and yarr.append("")
            j+=1
        else:
            xarr[i].append("*") and yarr[j].append("*")
    i+=1
print(xarr)

你的字典,
dict={1:3,2:1,3:1}
,有键
1
2
3
。但是,您可以使用
dict[i]!=j
<范围(0,3)内的code>i表示“循环通过一系列
i
值,从0开始,在3之前结束”。因此它将经过
0
1
2
。这意味着当它试图访问字典中的键
0
时,它找不到它,因此引发一个键错误,表示它找不到
0

与您的问题无关,您还有一些不太合理的奇怪代码行:

  • 对于范围(0,3)内的i
    迭代
    i
    的值,因此您不必每次都执行
    i+=1
    。在你的代码中,
    i+=1
    j+=1
    实际上什么都不做
  • 是一个布尔运算符。它计算任意一侧的布尔语句,并告诉您两者是否都为真。几乎任何东西都可以解释为布尔语句,因此不会抛出错误。但是,当您执行
    xarr.append(“”)和yarr.append(“”)时,您告诉它计算每个附录,将它们解释为布尔值,并返回
    xarr.append(“”)和yarr.append(“”)的布尔值。
    。要同时执行这两项操作,只需将每个表达式放在自己的行上:
  • xarr.append(“”)
    xarr
    数组中追加一个空字符串。如果你从
    xarr=[]
    开始,然后执行
    xarr.append(“”)
    你将得到
    [”“]
    。如果你再做一次,你会得到
    [”“,”“]
    等等。当你执行
    xarr[i]时,追加(“*”
    )你说的是“访问
    xarr
    中的第i项,然后将
    “*”
    附加到该项。但是,由于
    xarr
    中的项不是数组,因此无法附加到它们,因此会出错
xarr.append("")
yarr.append("")