2015-04-02 4 views
0

Эта программа, которую я создал в python, должна подсчитывать количество заглавных букв, строчных букв, цифр и количество пробелов в текстовом файле. Он продолжает возвращаться с синтаксической ошибкой. У меня возникли проблемы с выяснением причины моей ошибки.Где синтаксическая ошибка в этой программе?

infile = open("text.txt", "r") 

uppercasecount, lowercasecount, digitcount = (0, 0, 0) 

for character in infile.readlines(): 

    if character.isupper() == True: 
     uppercasecount += 1 

    if character.islower() == True: 
     lowercasecount += 1 

    if character.isdigit() == True: 
     digitcount += 1 

print(uppercasecount),(lowercasecount),(digitcount) 

print "Total count is %d Upper case, %d Lower case and %d Digit(s)" %(uppercasecount, lowercasecount, digitcount) 
+1

изменение 'печать (uppercasecount), (lowercasecount), (digitcount)' 'для печати (uppercasecount, lowercasecount, digitcount)' '.Также readlines' дает вы список. try '.read()' – itzMEonTV

ответ

0

изменить это:

print(uppercasecount),(lowercasecount),(digitcount) 

к:

print uppercasecount,lowercasecount,digitcount 

Вместо readlines используйте read:

for character in infile.read(): 

readlines будет читать весь фил е в виде списка строки

read будут читать весь файл в виде строки

+0

Большое вам спасибо. Если это не слишком много, чтобы спросить. Знаете ли вы, как я мог бы добавить количество символов пробела в файле, а также –

+0

, вы хотите также подсчитать количество пробелов? – Hackaholic

+0

Да, вот что я пытаюсь создать прямо сейчас. –

0

Полного ответа на питон 2 и 3. Попробуйте это, если вы хотите, чтобы получить кол-letters не words

infile = open("text.txt", "r") 

uppercasecount, lowercasecount, digitcount = (0, 0, 0) 

for character in infile.read(): 

    if character.isupper() == True: 
     uppercasecount += 1 

    if character.islower() == True: 
     lowercasecount += 1 

    if character.isdigit() == True: 
     digitcount += 1 

print(uppercasecount,lowercasecount,digitcount) 

print("Total count is %d Upper case, %d Lower case and %d Digit(s)" %(uppercasecount, lowercasecount, digitcount)) 
+0

Большое вам спасибо. Если это не слишком много, чтобы спросить. Знаете ли вы, как я мог бы добавить количество символов пробела в файле. –

+0

Использовать счетчик, https://docs.python.org/2/library/collections.html#collections.Counter – itzMEonTV

Смежные вопросы