TypeError:' int'对象在Python中不可订阅

时间:2018-03-22 14:41:02

标签: python

我在python上编写代码来绘制3d立方体,但它给我一个错误。 我该如何解决? 有代码:

coords = []

for x,y,z in verts:
    z+=5
    f=300/z
    x,y=x*f,y*f
    x+=250
    y+=250
    c1.create_oval(x-1, y-1, x+1, y+1, width = 0, fill = 'black')
    coords += [int(x),int(y)]

for edge in range(7):

    c1.create_line(coords[edge][0],coords[edge][1])

2 个答案:

答案 0 :(得分:1)

coords += [int(x),int(y)]将coords列表扩展为传递列表的内容。它没有创建嵌套列表,这是您尝试访问它时的假设。

你可能想要追加:

coords.append([int(x),int(y)])

答案 1 :(得分:0)

将新元素添加到此处的列表

public void TakePhoto()
        {
            Context context = MainActivity.Instance;
            MainActivity activity = (MainActivity)context;
            Intent intent = new Intent(MediaStore.ActionImageCapture);
            AppCamera._file = new Java.IO.File(AppCamera._dir, String.Format("Photo_{0}.jpg", DateTime.Now.ToString("ddmmyyhhmmss")));
            intent.PutExtra(MediaStore.ExtraOutput, Uri.FromFile(AppCamera._file));
            activity.StartActivityForResult(intent, 1);
        }

你实际上在列表中添加了两个新的int。我假设您希望添加一个列表本身的元素。我希望这个例子为你清楚

Xamarin.Forms.DependencyService.Register<ICameraProvider>();
DependencyService.Get<ICameraProvider>().TakePhoto()

在列表对象上使用append而不是+ =