【发布时间】:2015-09-08 06:51:27
【问题描述】:
我开始创建一个数组,然后用列表引用它的元素。现在我想打印整个数组(这是:数组上的所有列表),我创建了一个函数“show”和“show array”,但总是打印数组的最后一个元素
在:
class Test:
pass
def read(v, r):
n = len(v)
for i in range(0, n):
v[i] = r
v[i].number= 5+i
v[i].name = i*2
v[i].author = i+6
v[i].genre = i*3
v[i].quantity = i+2
def show_array(v):
n = len(v)
for i in range(0, n):
show(v[i])
def show(reg):
print(reg.number, end=' ; ')
print(reg.name, end=' ; ')
print(reg.author, end=' ; ')
print(reg.genre, end=' ; ')
print(reg.quantity)
def menu():
v = 2 * [None]
t= Test()
read(v, t)
show_array(v)
menu()
输出:
6 ; 2 ; 7 ; 3 ; 3
6 ; 2 ; 7 ; 3 ; 3
【问题讨论】:
-
FWIW,你的“数组”
v是一个列表,所以称它为array 有点混乱。 -
传递
r=Test并说v[i] = r()以创建Test的新实例 -
我照你说的做了,彼得并且工作了。谢谢!
标签: python arrays list printing