Возникли проблемы с моим кодом, и я не могу его исправить или узнать, где я ошибся. любая помощь приветствуется.
она запускается, но не go дальше, чем пользователь, вводящий имя текстового файла.
предполагается, что он прочитал ввод пользователя и из этого чтения текстовый файл и объявить, является ли это волшебный c пазл или нет, я хотел, чтобы это тоже читалось 5x5, но я немного растерялся, как это сделать
column = 0
row = 0
data = []
def main():
file = input("Enter filename :")
while True:
try:
f = open(file+".txt","r")
break
except:
file = input("Enter filename :")
for line in f.readline():
numbers = line.split(' ')
cube = [int(x) for x in numbers]
is_magic(x)
def is_magic(x):
if not dupe(x) and check_sum(x):
print ('Valid')
else:
print ('Invalid')
def dupe(x):
if len(x) == len(set(x)):
return False
return True
def check_sum(x):
if vertical_check(x) and horizontal_check(x) and diagonal_check(x):
return True
return False
def vertical_check(x):
if sum(x[0:9:3]) == sum(x[1:9:3]) == sum(x[2:9:3]) == 15:
return True
return False
def horizontal_check(x):
if sum(cube[0:3]) == sum(cube[3:6]) == sum(cube[6:9]) == 15:
return True
return False
def diagonal_check(x):
if sum(cube[0:9:4]) == sum(cube[2:7:2]) == 15:
return True
return False
def writeFile(x):
f = open("VALID_"+x+".txt","w")
text = ""
for a in data:
for x in a:
text = text+str(x)+" "
text = text+"\n"
f.write(text)
f.close()
return
main()
'''
txt файл 3x3
2 9 4
7 5 3
6 1 8