csStudent
csStudent

Reputation: 3

Stop python from printing every single value and just print one?

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

Answers (1)

Niek de Klein
Niek de Klein

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

Related Questions