index1 = 0
singlechar = []
def SINGLE_CHAR_VAR(filename):
firdict = vars_indents(filename)[0]
firtup_keys = firdict.keys()
firtup_val = firdict.values()
for keys in firtup_keys:
for values in firtup_val:
index = 0
for index in range(len(values)):
firvallist = firtup_val[index]
for item in firvallist:
if len(item[0]) == 1:
singlechar.append({'ERROR_TYPE': 'SINGLE_CHAR_VAR', 'LINE_NUMBER': str(keys),'COLUMN': str(item[1]),'INFO': str(item[0]),'SOURCE_LINE': str(lines[keys - 1])})
else:
continue
return singlechar
这是我的代码,但是没有生成输出,或者当我在return语句周围移动时,生成了一个空列表。我希望它能给我一个字典列表作为输出。你知道吗
有人能教我怎么修吗?你知道吗
谢谢
我认为问题出在返回语句中。应该将return语句缩进外部for循环的正下方,而不是内部for循环的正下方。具体如下:
您应该首先调用函数来获得输出。你知道吗
你怎么能指望一个函数在没有被调用的情况下运行呢?
return
!=print
。您需要执行“打印单个字符变量(文件名)”return
将值发送给调用该函数的任何对象。在本例中,返回的是value/string,但是您需要对它做些什么,因此需要print
。或者,如果希望函数本身打印输出,可以将return
替换为print
。但是,在这种情况下,值将不会被传递,并且您将无法存储它。它实际上只取决于什么对你有用/你想要什么。 `你知道吗相关问题 更多 >
编程相关推荐