我认为这是因为我是一个新手 Python和我第一次学习写作课程。我想要实现的是让班级根据用户输入打开一组文本文件中的一个。文本文件包含以下信息:
20,21,22
23,24,25
26,27,28
文本文件被读取为2D数组。从该数组中读取一个值并将其赋值给一个新变量,以便可以打印该变量并在以后的计算中使用。我已经能够在课堂上毫无困难地完成这项工作,但是让它在课堂上工作一直令人沮丧。这是我到目前为止用于Python 2.7的代码:
im_new = []
class Read(object):
def __init__(self, agev, table, row, col, newvar):
self.agevar = agev
self.table = table
self.row = row
self.col = col
self.newvar = newvar
display_list = []
with open(self.table + str(self.agevar) + ".txt", "r") as data_file:
for line in data_file:
display_list.append(line.strip().split(','))
def __str__(self):
self.newvar = (display_list[self.row][self.col])
immem = Read(40, "im", 1, 2, im_new)
print "Immediate Memory: " % im_new
理想情况下,引用示例文本文件,输出将是"立即存储器:25",但我得到的输出是"立即存储器:"当我在控制台中打印值im_new时,我得到" []"。我确定我失踪的事情非常明显。任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:0)
你的代码出了问题,它也没有运行。我试着修理:
im_new = []
class Read(object):
def __init__(self, agev, table, row, col, newvar):
self.agevar = agev
self.table = table
self.row = row
self.col = col
self.newvar = newvar
self.display_list = []
with open(self.table + str(self.agevar) + ".txt", "r") as data_file:
for line in data_file:
self.display_list.append(line.strip().split(','))
def __str__(self):
self.newvar = (self.display_list[self.row][self.col])
return self.newvar
immem = Read(40, "im", 1, 2, im_new)
print "Immediate Memory: ", immem
这会像您期望的那样返回Immediate Memory: 25
,但我不确定这是您想要的。