如果声明错误,不确定什么是错的

时间:2016-03-09 14:06:58

标签: python python-3.x if-statement

while True:
    try:

        enterName = input("Enter file name:") + ".txt"
        openFile = open(enterName,"r")
        read = openFile.readlines()
        openFile.close()
        puzzle = [] 
        for lines in read: 
            puzzle.append(lines.strip())

        square(puzzle) 



    print ("\nFile loading...")
    print ("\nFile:")
    for letters in puzzle:
        print (letters)

    checked(puzzle)

当我在try:

中使用它时,def nChar无法正常工作

当我输入文件exxample:

ABC
BCA
CAB

它直接说"文件没有n个不同的字符。" 我做错了什么? if语句是在错误的位置还是?

1 个答案:

答案 0 :(得分:1)

您的nChar()函数始终返回None

def nChar(nc):
    grid = len(nc)
    for char in nc:
        if len(set(char)) != grid: 
            return
在布尔上下文中,

None被视为false。

让您的函数返回TrueFalse代替:

def nChar(nc):
    grid = len(nc)
    for line in nc:
        if len(set(line)) != grid: 
            return False
    return True