Reputation: 3
This is what happens when I print my code : https://i.sstatic.net/oVrwK.jpg
I only want it to print the very last line
i.e : 'total: 891, pclass1: 342 (38.38%)
Here is my code:
import csv
pclass = 0
pclass1 = [1]
pclass2 = [2]
pclass3 = [3]
pclass1_values = 0
pclass2_values = 0
pclass3_values = 0
total = 891
with open('titanic-new.csv', newline='') as csvfile:
csv_reader = csv.reader(csvfile, delimiter= ',')
next(csv_reader, None)
for row in csv_reader:
if int(row[pclass]) in pclass1:
pclass1_values += 1
print('total: {}, pclass1: {} ({:.2f}%)'.format(total, pclass1_values,
pclass1_values/total*100))
input('press ENTER to exit')
Upvotes: 0
Views: 40
Reputation: 8824
Put the print statement outside the for loop
import csv
pclass = 0
pclass1 = [1]
pclass2 = [2]
pclass3 = [3]
pclass1_values = 0
pclass2_values = 0
pclass3_values = 0
total = 891
with open('titanic-new.csv', newline='') as csvfile:
csv_reader = csv.reader(csvfile, delimiter= ',')
next(csv_reader, None)
for row in csv_reader:
if int(row[pclass]) in pclass1:
pclass1_values += 1
print('total: {}, pclass1: {} ({:.2f}%)'.format(total, pclass1_values,
pclass1_values/total*100))
input('press ENTER to exit')
Upvotes: 2