Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查文件中的行数是否等于每行中的字符数?_Python - Fatal编程技术网

Python 如何检查文件中的行数是否等于每行中的字符数?

Python 如何检查文件中的行数是否等于每行中的字符数?,python,Python,该文件必须包含3到10行文本。也就是说,3是最小可接受行数,10是最大行数 所有行必须包含完全相同的字符数 每行必须包含3到10个字符。也就是说,3是可接受的最小字符数,10是最大字符数。每行的字符数不必等于文件中的行数 唯一可接受的字符是“x”、“x”、“y”、“y”和“_389;” correct_string = False while correct_string is False: string = input("Enter a string? ") if len(s

该文件必须包含3到10行文本。也就是说,3是最小可接受行数,10是最大行数

所有行必须包含完全相同的字符数

每行必须包含3到10个字符。也就是说,3是可接受的最小字符数,10是最大字符数。每行的字符数不必等于文件中的行数

唯一可接受的字符是“x”、“x”、“y”、“y”和“_389;”

correct_string = False
while correct_string is False:

    string = input("Enter a string? ")
    if len(string) != len(string):
        print("Error: string must have the same number of characters.")
    else:
        incorrect_char = False
        for i in string:
            if i != "X" and i != "x" and i != 'Y' and i != 'y' and i != "_":
                incorrect_char = True
        if incorrect_char is False:
            correct_string = True
        else:
            print("Invalid Character. Contains characters other than 'X', 'x', 'Y' 'y',and '_'")
也许。。。不太清楚您的要求是什么

def check_文件(f):
def check_file(f):
    for i, line in enumerate(f):
        if i > 10: return False
        for j, c in enumerate(line.rstrip('\n')):
            if j > 10: return False
            if c not in 'xXyY_':
                return False
        if j < 3: return False
    if i < 3: return False

    return True
对于i,枚举(f)中的行: 如果i>10:返回False 对于枚举中的j,c(行.rstrip('\n')): 如果j>10:返回False 如果c不在'xXyY_u2;'中: 返回错误 如果j<3:返回False 如果i<3:返回False 返回真值
读取文件中的行并检查其长度?此代码有很多错误。。。我认为最初的if永远不会是真的……你问题的标题提到了一个文件,但在你的代码中,你是从stdin读取的。还有,第一个条件是荒谬的:什么时候字符串对象的长度不等于它自己的长度?你问了两次吗?只需将第4行更改为范围(3,11)中的
assert len(行)
。我想您还需要在范围(3,11)中添加
assert len(行[0])
def check_file(f):
    for i, line in enumerate(f):
        if i > 10: return False
        for j, c in enumerate(line.rstrip('\n')):
            if j > 10: return False
            if c not in 'xXyY_':
                return False
        if j < 3: return False
    if i < 3: return False

    return True