Python中的简单逻辑错误

Python中的简单逻辑错误,python,function,csv,functional-programming,Python,Function,Csv,Functional Programming,代码的第12行和第13行不会影响程序 电流输出: 你好10 你好10 霍拉10 期望输出: 你好10 嗨,6 霍拉10 CSV输出右栏中的第二个数字应更改为6,而不是10(由于第12行和第13行),为什么这些行没有影响 谢谢你的帮助和建议 # -*- coding: utf-8 -*- import csv levels = [["1"], ["2"], ["3"]] def column1Logic(self, level, greeting): self.column1 = "log

代码的第12行和第13行不会影响程序

电流输出:

你好10

你好10

霍拉10

期望输出:

你好10

嗨,6

霍拉10

CSV输出右栏中的第二个数字应更改为6,而不是10(由于第12行和第13行),为什么这些行没有影响

谢谢你的帮助和建议

# -*- coding: utf-8 -*-
import csv
levels = [["1"], ["2"], ["3"]]
def column1Logic(self, level, greeting):
    self.column1 = "logic worked"
    if greeting == ["hola"]:
        self.column1 = ["poop"]
    else:
        self.column1 = self.greeting
def column2Logic(self, level, greeting): # budget
    self.column2 = 10 
    if level == [2]: 
        self.column2 = self.column2 * .6
class Row(object):
    column1 = "name"
    column2 = "budget"
    greeting = "oh"
    def __init__(self, level, greeting):
        self.level = level
        self.greeting = greeting
    def rowEntry(self, level, greeting):
        column1Logic(self, level, greeting)
        column2Logic(self, level, greeting)
        lol = [[self.column1], [self.column2]]
        lol[0] = self.column1
        lol[1] = self.column2
        file_writer.writerow([o for o in lol])
with open("test.csv", "wb") as test_file:
    file_writer = csv.writer(test_file)
    for a 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)

如果级别==[2]:
需要使用字符串
'2'
而不是数字
2
,该条件才能计算为
True
。如果级别[a]=[“3”]:在另一行中,您就做对了。

非常感谢,我觉得自己很笨!你在节目的其他地方都做对了——每个人都会偶尔犯这样的错误。