Python中的简单逻辑错误
代码的第12行和第13行不会影响程序 电流输出: 你好10 你好10 霍拉10 期望输出: 你好10 嗨,6 霍拉10 CSV输出右栏中的第二个数字应更改为6,而不是10(由于第12行和第13行),为什么这些行没有影响 谢谢你的帮助和建议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
# -*- 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”]:在另一行中,您就做对了。非常感谢,我觉得自己很笨!你在节目的其他地方都做对了——每个人都会偶尔犯这样的错误。