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语句是在错误的位置还是?
答案 0 :(得分:1)
您的nChar()
函数始终返回None
:
def nChar(nc):
grid = len(nc)
for char in nc:
if len(set(char)) != grid:
return
在布尔上下文中, None
被视为false。
让您的函数返回True
或False
代替:
def nChar(nc):
grid = len(nc)
for line in nc:
if len(set(line)) != grid:
return False
return True