Весь код внутри цикла for и условий if/elif должен быть с отступом.
Переменная w определяется только внутри условий if/elif, но не в else. Поэтому когда выполняется else, w остается неопределенной.
Последнее условие if w == 1315 должно быть внутри цикла for с правильным отступом.
for N in range(1000, 10000):
n = list(map(int, str(N)))
g1 = int(n[0]) + int(n[1])
g2 = int(n[1]) + int(n[2])
g3 = int(n[2]) + int(n[3])
if g1 < g2 and g1 < g3 and g2 < g3:
del(g1)
w = int(str(g2) + str(g3))
elif g1 < g2 and g1 < g3 and g3 < g2:
del(g1)
w = int(str(g3) + str(g2))
elif g2 < g1 and g2 < g3 and g1 < g3:
del(g2)
w = int(str(g1) + str(g3))
elif g2 < g1 and g2 < g3 and g3 < g1:
del(g2)
w = int(str(g3) + str(g1))
elif g3 < g1 and g3 < g2 and g2 < g1:
del(g3)
w = int(str(g2) + str(g1))
elif g3 < g1 and g3 < g2 and g1 < g2:
del(g3)
w = int(str(g1) + str(g2))
else:
print("ha")
w = 0
if w == 1315:
print(N, w)
Moo LinaУченик (75)
4 месяца назад
У меня соблюдены все отступы. Переменная не находится в else, а в новом условии
Скриншот вышел пиксельным, поэтому в вопрос я вставила скопиррванный текст, который отправила через тг, всвязи с чем пробелы не остальсь
Если будет проще определить ошибку в скриншоте, то вот:
for N in range (1000, 10000):
n = list(map(int, str(N)))
g1 = int(n[0]) + int(n[1])
g2 = int(n[1]) + int(n[2])
g3 = int(n[2]) + int(n[3])
if g1 < g2 and g1 < g3 and g2 < g3:
del(g1)
w = int(str(g2) + str(g3))
elif g1 < g2 and g1 < g3 and g3 < g2:
del(g1)
w = int(str(g3) + str(g2))
elif g2 < g1 and g2 < g3 and g1 < g3:
del(g2)
w = int(str(g1) + str(g3))
elif g2 < g1 and g2 < g3 and g3 < g1:
del(g2)
w = int(str(g3) + str(g1))
elif g3 < g1 and g3 < g2 and g2 < g1:
del(g3)
w = int(str(g2) + str(g1))
elif g3 < g1 and g3 < g2 and g2 < g1:
del(g3)
w = int(str(g1) + str(g2))
else:
print ("ha")
if w == 1315:
print (N, w)
Выводит единственное «ha» и...
ha
Traceback (most recent call last):
File "блабла", line 26, in <module>
if w == 1315:
NameError: name 'w' is not defined
Process exited - Return Code: 1
Press Enter to exit terminal
Второе условие (if w == 1315:
print (N, w)) было записано в первом, как «elif», но ничего всё равно не рвботалр