我如何解决这个IndexError?

时间:2014-04-21 13:53:56

标签: java python python-2.7

我的问题是我需要将这个Java代码更改为python:

public static byte x1=0,x2=0,x3=0,x4=0,x5=0,x6=0;

是Java代码中的python

jammon 对我说,我可以把所有这些只放在这一行:

x = [0]*6

但是现在当我运行代码时,我看到了这一点:

Traceback (most recent call last):
  File "test.py", line 62, in <module> # The line 62 is the location of x[0]=datosOEM[k];
    x[0]=datosOEM[k];
IndexError:bytearray index out of range

我已经看了其他帖子,但我还没有得到它。这是代码的一部分:

# -*- coding: utf-8 -*-
import serial
datosOEM=bytearray(5)
print(datosOEM)
datosOEM[0]=65
print(datosOEM)
x=[0]*6
k=0; 
trama=1; 
B=0; 
C=0; 
conexion=True;
resp=0                 
if(conexion):
    #{
    print ('conexion ON')
    while(resp<200):
        print ('data save')
        while(C==0):
            #{
            print ('what is C?')
            x[0]=datosOEM[k];
            if(x[0]==1):
                #{
                print ('what is x[0]?')
                x[1]=datosOEM[k+1];
                if((x[1]&1)==1):
                    #{
                    print ('what is x[1]?')
                    C=1;
                    #}
                #}
            k=k+1;
            #}
        k=k-1;
        ...

要清楚,我的问题是:如何在python中创建一些不在范围之外的bytearrays?

我感谢你能给予我的每一个支持。

拜托,不要对我这么强硬我只是在学习

1 个答案:

答案 0 :(得分:0)

我做了什么来解决这个问题,我改变了一点点我改变了

if(x[0]==1):
if((x[1]&1)==1):

if(x[0]==0):
if((x[1]&1)==0):

以这种方式我可以解决问题