0

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

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

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

唯一可接受的字符是“x”、“X”、“y”、“Y”和“_”。

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 '_'")
4

2 回答 2

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
于 2013-04-16T23:29:20.257 回答
0
with open("my_file.txt") as f:
     lines = f.readlines()
     assert all(len(line) == len(lines[0]) for line in lines[1:]) 
     assert len(lines) == len(lines[0])

也许......不太清楚你的要求

于 2013-04-16T22:11:41.183 回答