从用户输入的txt文件中读取文件和计数字符

时间:2014-03-27 16:27:47

标签: python

我似乎无法让这个python程序工作。它应该从我桌面上的用户那里获得一个输入的.txt文件。 txt文件作为单行字符。在用户输入文件之后,程序然后应该计算X,Y和Z的数量(大写和小写)以及不是X,Y或Z的“坏”字符的数量。

这就是我所拥有的:

def main():
    count = 0
    F1 = raw_input("Enter output file name: ")
    File = open(F1,"r")
    for i in File:
        a=str.count('x' and 'X')
        print "The number of Xs was: ", a
        b= str.count('y' and 'Y')
        print "The number of Ys was: ", b
        c = str.count('z' and 'Z')
        print "The number of Zs was: ", c
        d = str.count
        print "The number of bad characters was: ", 
    return 

main()

2 个答案:

答案 0 :(得分:1)

此表达式

str.count('x' and 'X')

不符合你的想法。查看子表达式'x' and 'X'如何评估:

>>> 'x' and 'X'
'X'

你可以这样做,而不是:

a=str.count('x') + str.count('X')

a=s.upper().count('X')

修正了a,b和c的计算后,需要修复d的计算。可以这样做:

d = len(str) - (a + b + c)

答案 1 :(得分:0)

完成@piokuc所说的内容后,您需要将str.count替换为i.count

这是因为它包含你的字符串,而不是str。