Я работаю над программой, которая отображает данные из различных текстовых файлов и отображает их различными способами. Я не очень хорошо знаком с Python и, вероятно, в моем коде есть много ошибок. Когда я запускаю код, я получаю ошибку unexepected EOF while parsing
. Кто-нибудь знает, что здесь не так?неожиданный EOF при разборе
from time import sleep
import sys
for i in range(21):
sys.stdout.write('\r')
sys.stdout.write("[%-20s] %d%%" % ('='*i, 5*i))
sys.stdout.flush()
sleep(0.25)
print('\nWelcome to The Arithmatic Quiz: Teacher Eddition.')
UserName = input('Please input your user name and press enter.')
if UserName == 'MrSmith':
print ('Please proceed.')
else:
quit()
Password = input('Please input your password and press enter.')
if Password == 'Maths':
print ('Welcome Mr Smith.')
else:
quit()
import csv
import operator
classdata = 0
while classdata == 0:
Class = input ('Which class do you want the data for?')
Display = input ('How do you want the data t be sorted? Alphabetically (A), on highest score for the first try (H1), on highest score for the second try (H2), on highest score for the third try (H3), or average score (Avg)?')
if Class == '1':
Class_1 = open('class_1.txt','r')
csv1 = csv.reader(Class_1,delimiter=',')
if Display == 'A':
sortA = sorted(csv1,key=operator.itemgetter(1))
for eachline in sortA:
print (eachline)
if Display == 'H1':
sortB = sorted(csv1,key=operator.itemgetter(2))
for eachline in sortB:
print (eachline)
if Display == 'H12':
sortB = sorted(csv1,key=operator.itemgetter(3))
for eachline in sortB:
print (eachline)
if Display == 'H3':
sortB = sorted(csv1,key=operator.itemgetter(4))
for eachline in sortB:
print (eachline)
elif Display == 'Avg':
sortC = sorted(csv1,key=operator.itemgetter(5))
import csv
from collections import Counter
def average_column (csv_filepath):
row_totals = Counter()
with open('Class_1',"rb") as f:
reader = csv.reader(f)
column_count = 0.0
for column in reader:
for row_idx, row_value in enumerate(column):
try:
n = float(row_value)
row_totals(row_idx) += n
column_count += 1.0
column_count -= 1.0
row_indexes = row_totals.keys()
row_indexes.sort()
averages = (row_totals(idx)/column_count for idx in row_indexes)
print(averages)
Если это поможет, я бегу на Python 3.4.3
Не могли бы вы опубликовать, по крайней мере часть вас входного файла (ов). Кроме того, вы публикуете довольно много кода, не могли бы вы быть более конкретным, отлаживали ли вы, и знаете, где он не работает? Чем больше информации вы предоставляете, тем более вероятно, что вы получите хороший ответ. Благодарю. – lrnzcig
Добро пожаловать в Stackoverflow! Почему вы думаете, что вы не используете функцию 'input'? И постарайтесь сделать свой код настолько маленьким, насколько это возможно (т. Е. Попытаться сделать минимальный пример, когда эта проблема воспроизводима). – Ilya
Ошибка возникает непосредственно по незакрытой инструкции Try/expect. –