Может ли кто-нибудь объяснить, почему и как я получаю «None» в конце оператора return моих функций, и как я могу его удалить? Я не вижу, как оператор print может вызвать его появление.
class City:
# Task 1
def __init__ (self, name, label, lat, lon, pop_dict):
self.name = name
self.label = label
self.lat = lat
self.lon = lon
self.pop_dict = pop_dict
def printPopChange(self, year1, year2):
pop_dict = self.pop_dict #pop_dict[year1]
year1pop = pop_dict[year1]
year2pop = pop_dict[year2]
popchange = float(year2pop) - float(year1pop)
print "The population difference in", self.name, "from", year1.strip("yr"), "to", year2.strip("yr"), "is", popchange, "million people."
Cities = []
f = open("CityPop.csv","r")
header = f.readline()
header = header.strip().split(",")
for line in f:
record = line.strip().split(",")
pop = {}
for i in range (5, 14):
pop[header[i]] = record[i]
newCity = City(name = record[3], label = record[4], lat = record[1], lon = record[2], pop_dict = pop)
Cities.append(newCity)
Так, например, если я запускаю: print Cities[0].printPopChange("yr1990", "yr1995")
,
Я получаю: "The population difference in Tokyo from 1990 to 1995 is 1.06 million people."
"Нет" `