Add one to integer represented as an array I am practicing interview questions and have written the following
 code for the given task.

Task : Given a non-negative number represented as an array of digits, add 1 to the number (increment the number represented by the digits). The digits are stored such that the most significant digit is at the head.

Code:

class Solution:
# @param A : list of integers
# @return a list of integers
    def plusOne(self, A):
        Rev_A = A[::-1]
        i = 0
        while i &lt;= len(A)-1:
            if Rev_A[i] != 9:
                Rev_A[i] +=1
                carry = 0
                break
            else:
                Rev_A[i] = 0
                carry = 1
            i += 1
        if carry == 1:
            Rev_A.append(1)
        while True:
            if Rev_A[-1]==0:
                Rev_A.pop()
            else:
                break
        return Rev_A[::-1]


    def __init__(self):
        self.list = []


Test cases:

if __name__ == "__main__":


    A = Solution()
    ## Test Cases   
    print A.plusOne([0])
    print A.plusOne([9,0,0])
    print A.plusOne([6,9,9])
    print A.plusOne([9,9,9])
    print A.plusOne([0,9,9,9])
    print A.plusOne([0,0,0,1,2,3])


How can this code be better?
Run the code through pycodestyle, then understand and apply all of the recommended changes. This is tedious the first couple times, but you'll learn to write much more idiomatic Python.
The class is pointless - you might as well just write a bare function instead. __init__ also creates a field which is then never used.
Names like A make the code harder to read. Naming your variables what they actually are makes the code much easier to read.
I would swap around your first if/else to avoid the negative comparison.
You use a number for carry, but it might as well be boolean because it can never be more than 1.
Personally I consider this code hard to understand. You reverse the list twice (making a copy both times), add and remove to it. This is my take on it:

def increment(digits):
    for index, digit in reversed(list(enumerate(digits))):
        if digit == 9:
            digits[index] = 0
        else:
            digits[index] += 1
            return digits
    digits.insert(0, 1)
    return digits

if __name__ == '__main__':
    print(increment([0]))
    print(increment([9,0,0]))
    print(increment([6,9,9]))
    print(increment([9,9,9]))
    print(increment([0,9,9,9]))
    print(increment([0,0,0,1,2,3]))



Reverse the list one element at a time
Set trailing nines to zero
If any number is not nine, increment it and we're done
If we get through the whole list, it must have been all nines, so we add a one to the start and return
This code treats an empty list as zero, which may or may not be allowed in the exercise.