function - Simple Logic Error in Python -
why doesn't 3rd row of csv output have "hola"?
the (if levels[a] == "3") should ensure it's set "hola".
thanks ideas or help!
#-*- coding: utf-8 -*- import csv levels = [["1"], ["2"], ["3"]] def column1logic(self): self.column1 = "logic worked" self.column1 = self.greeting class row(object): column1 = "name" greeting = "oh" def __init__(self, level, greeting): self.level = level self.greeting = greeting def rowentry(self, level, greeting): column1logic(self) lol = [[self.column1]] lol[0] = self.column1 file_writer.writerow([o o in lol]) open("test.csv", "wb") test_file: file_writer = csv.writer(test_file) in range(0, len(levels)): if levels[a] == "3": greeting = "hola" food = row(levels[a], greeting) food.rowentry(levels[a], greeting) else: greeting = "hi" food = row(levels[a], greeting) food.rowentry(levels[a], greeting)
you iterating on list of lists. therefore should check if ['3'] instead of '3'.
# -*- coding: utf-8 -*- import csv levels = [["1"], ["2"], ["3"]] def column1logic(self): self.column1 = "logic worked" self.column1 = self.greeting class row(object): column1 = "name" greeting = "oh" def __init__(self, level, greeting): self.level = level self.greeting = greeting def rowentry(self, level, greeting): column1logic(self) lol = [[self.column1]] lol[0] = self.column1 file_writer.writerow([o o in lol]) open("test.csv", "wb") test_file: file_writer = csv.writer(test_file) in range(0, len(levels)): print levels[a] if levels[a] == ['3']: # instead of levels[a] == "3" greeting = "hola" food = row(levels[a], greeting) food.rowentry(levels[a], greeting) else: greeting = "hi" food = row(levels[a], greeting) food.rowentry(levels[a], greeting)
Comments
Post a Comment