變量r
p
q
都int
類型和他們沒有任何與之關聯的屬性val
。
現在你怎麼能找到它。使用內建函數dir
。
>>> r = 3
>>> dir(r)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
你可以看到有一個與int
對象相關聯的val
屬性。
現在,如何解決上述問題。
def Question4(T, r, p, q):
s, b = sorted([p, q]) // remove .val
while not s <= r <= b: // remove .val
r = r.left if s <= r else r.right // also int doesn't have .right or .left attribute, you need to define your own class to represent this custom data type
return r
T = [[0, 1, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 0, 0]]
r = 3 // this is int object which don't have val attribute
p = 1
q = 4
Question4(T, r, p, q)
對我來說似乎很簡單:'p'和'q'是整數。整數沒有'val'屬性。所以你不能做'p.val'或'q.val'。 – Kevin