Size: a a a

2021 March 01

TE

Taisia Evzhik in PyLadies SPb
iriskin0
вам бы код упростить, проще дебажить будет
бесспорно, но я пока не настолько сильна.. продираюсь сквозь терни. но ведь сложный код еще не повод pucharm-у его игнорировать😳
источник

AS

Anastasia Stakhanova in PyLadies SPb
Taisia Evzhik
Добрый день.
Подскажите, почему функция может не проверять условие: проскакивает if. Если дебажу по шагам - видно, что условие True, а программа даже не заглядывает..
*ох уж эти ходы конем 🙈
привет!
получается, каждый раз проверяется:
if (condition_1) and (condition_2) and (condition_3)
соответственно, все эти три условия должны выполниться одновременно.

если прям ручками проверить, то точно-точно они хоть где-то выполнились?

длинные условия, там много возможностей для банальной опечатки

там где ты курсором навела и вывелось True - это было True прям для всего длинного условия или для одной части только?

pole, sol, neg где-то выше определены как глобальные переменные ?
источник

TE

Taisia Evzhik in PyLadies SPb
Anastasia Stakhanova
привет!
получается, каждый раз проверяется:
if (condition_1) and (condition_2) and (condition_3)
соответственно, все эти три условия должны выполниться одновременно.

если прям ручками проверить, то точно-точно они хоть где-то выполнились?

длинные условия, там много возможностей для банальной опечатки

там где ты курсором навела и вывелось True - это было True прям для всего длинного условия или для одной части только?

pole, sol, neg где-то выше определены как глобальные переменные ?
Да, глобальные, да, все True, да, ручками проверяю, и, когда навожу курсор, подсвечивается все выражение. А при нажатии f8 даже на этот if не переходит выполнение программы
источник

AS

Anastasia Stakhanova in PyLadies SPb
если код не секретный, то может выложить его и чтобы кто-то другой попробовал запустить?
источник

AS

Anastasia Stakhanova in PyLadies SPb
или просто скинуть сюда значения len(pole), pole[0], sol, neg[1] (так как st было равно 1)
и можно проверять)
источник

NG

Natalya Ginzburg in PyLadies SPb
Taisia Evzhik
Добрый день.
Подскажите, почему функция может не проверять условие: проскакивает if. Если дебажу по шагам - видно, что условие True, а программа даже не заглядывает..
*ох уж эти ходы конем 🙈
or подозрительный в последней скобке в каждой строке. Если подразумевалось объединение множеств/массивов — оно так не работает :)
источник

NG

Natalya Ginzburg in PyLadies SPb
вот, например
источник

AS

Anastasia Stakhanova in PyLadies SPb
вот, внимательный человек
я пропустила этот момент, например)
источник

AS

Anastasia Stakhanova in PyLadies SPb
and ((smth not in sol) or (smth not in neg))
так должно быть, получается
источник

TE

Taisia Evzhik in PyLadies SPb
Natalya Ginzburg
вот, например
Спасибо большое! Попробую. Отпишусь обязательно
источник

TE

Taisia Evzhik in PyLadies SPb
не помогло (
код во вложении и ниже
источник

TE

Taisia Evzhik in PyLadies SPb
def n_possible(x, y, st):
   n = 0
   if 1 <= x + 2 <= len(pole[0]) and 1 <= y + 1 <= len(pole) and [x + 2, y + 1] not in sol and [x + 2, y + 1] not in neg[st]:
       n += 1
   if 1 <= x + 2 <= len(pole[0]) and 1 <= y - 1 <= len(pole) and [x + 2, y - 1] not in sol and [x + 2, y - 1] not in neg[st]:
       n += 1
   if 1 <= x - 2 <= len(pole[0]) and 1 <= y + 1 <= len(pole) and [x - 2, y + 1] not in sol and [x - 2, y + 1] not in neg[st]:
       n += 1
   if 1 <= x - 2 <= len(pole[0]) and 1 <= y - 1 <= len(pole) and [x - 2, y - 1] not in sol and [x - 2, y - 1] not in neg[st]:
       n += 1
   if 1 <= x + 1 <= len(pole[0]) and 1 <= y + 2 <= len(pole) and [x + 1, y + 2] not in sol and [x + 1, y + 2] not in neg[st]:
       n += 1
   if 1 <= x + 1 <= len(pole[0]) and 1 <= y - 2 <= len(pole) and [x + 1, y - 2] not in sol and [x + 1, y - 2] not in neg[st]:
       n += 1
   if 1 <= x - 1 <= len(pole[0]) and 1 <= y + 2 <= len(pole) and [x - 1, y + 2] not in sol and [x - 1, y + 2] not in neg[st]:
       n += 1
   if 1 <= x - 1 <= len(pole[0]) and 1 <= y - 2 <= len(pole) and [x - 1, y - 2] not in sol and [x - 1, y - 2] not in neg[st]:
       n += 1
   return n

def posible_steps(x,y,st):
   posible.clear()
   max_pos=[0,0]
   n=0
   if 1 <= x + 2 <= len(pole[0]) and 1 <= y + 1 <= len(pole) and [x + 2, y + 1] not in sol and [x + 2, y + 1] not in neg[st]:
       posible.append([x+2,y+1])
       n+=1
   if 1 <= x + 2 <= len(pole[0]) and 1 <= y - 1 <= len(pole) and [x + 2, y - 1] not in sol and [x + 2, y - 1] not in neg[st]:
       posible.append([x+2,y-1])
       n += 1
   if 1 <= x - 2 <= len(pole[0]) and 1 <= y + 1 <= len(pole) and [x - 2, y + 1] not in sol and [x - 2, y + 1] not in neg[st]:
       posible.append([x-2,y+1])
       n += 1
   if 1 <= x - 2 <= len(pole[0]) and 1 <= y - 1 <= len(pole) and [x - 2, y - 1] not in sol and [x - 2, y - 1] not in neg[st]:
       posible.append([x-2,y-1])
       n += 1
   if 1 <= x + 1 <= len(pole[0]) and 1 <= y + 2 <= len(pole) and [x + 1, y + 2] not in sol and [x + 1, y + 2] not in neg[st]:
       posible.append([x + 1, y + 2])
       n += 1
   if 1 <= x + 1 <= len(pole[0]) and 1 <= y - 2 <= len(pole) and [x + 1, y - 2] not in sol and [x + 1, y - 2] not in neg[st]:
       posible.append([x + 1, y - 2])
       n += 1
   if 1 <= x - 1 <= len(pole[0]) and 1 <= y + 2 <= len(pole) and [x - 1, y + 2] not in sol and [x - 1, y + 2] not in neg[st]:
       posible.append([x - 1, y + 2])
       n += 1
   if 1 <= x - 1 <= len(pole[0]) and 1 <= y - 2 <= len(pole) and [x - 1, y - 2] not in sol and [x - 1, y - 2] not in neg[st]:
       posible.append([x - 1, y - 2])
       n += 1
   print(posible)
   return n


global pole, k, sol, neg, posible
posible=[]
sol = []
steps = 0

pole_x, pole_y = input("Enter your board dimensions: ").split()
pole_x, pole_y = int(pole_x), int(pole_y)
neg = {a: [] for a in range(1, pole_x * pole_y+1)}
k = len(str(pole_x * pole_y))
pole = [["_" * k for i in range(pole_x)] for j in range(pole_y)]
x, y = input("Enter the knight's starting position: ").split()
x, y = int(x), int(y)

sol.append([x, y])
st = 1
while st < pole_x * pole_y:
   posible_steps(x, y, st)
   max_posible = 0
   max_pos = [0, 0]
   for coord in posible:
       n_pos = n_possible(coord[0], coord[1], st)
       if n_pos - 1 > max_posible:
           max_posible = n_pos
           max_pos = coord
   if not max_posible or not posible:
       st -= 1
       neg[st].append(sol.pop())
   else:
       st += 1
       sol.append(max_pos)
       x, y = max_pos[0], max_pos[1]
   print(sol)
источник

TE

Taisia Evzhik in PyLadies SPb
"программа" просит ввести размер поля и начальное положение "коня" и должна затоптать все поле, то есть конь должен побывать в каждой клетке по одному разу.
возможно код в конце работает неправильно, я пока только логику описываю 🤷‍♀️
источник
2021 March 02

TE

Taisia Evzhik in PyLadies SPb
если кому-то интересно: обняла каждое логическое выражение скобками и все начало работать.
источник

O

Olya in PyLadies SPb
всем привет)
источник

F

Fox in PyLadies SPb
Taisia Evzhik
если кому-то интересно: обняла каждое логическое выражение скобками и все начало работать.
ой, вот что значит читать чат сонной: была уверена, что написала вам предложение расставить скобки, но очевидно, что нет 😅
поздравляю, что получилось
источник
2021 March 10

Aс.енька Мак... in PyLadies SPb
Привет, девчонки! А есть те, кто был на хакатонах? Можете рассказать, как они проходят обычно?
источник

MF

M F in PyLadies SPb
Aс.енька Мак
Привет, девчонки! А есть те, кто был на хакатонах? Можете рассказать, как они проходят обычно?
Привет
Ну выдают задание (или вы с командой придумываете свой проект сами, если тема хакатона широкая), вы с командой пилите. Потом представляете что получилось. Потом те кто больше всех понравились жюри получают плюшки, как-то так))) итераций работы над проектом и представления получившегося может быть несколько)
источник

AB

Anastasia Birillo in PyLadies SPb
очень сильно еще зависит от самого хакатона все)
источник

Aс.енька Мак... in PyLadies SPb
M F
Привет
Ну выдают задание (или вы с командой придумываете свой проект сами, если тема хакатона широкая), вы с командой пилите. Потом представляете что получилось. Потом те кто больше всех понравились жюри получают плюшки, как-то так))) итераций работы над проектом и представления получившегося может быть несколько)
А как оценивают ? Можно ли юзать инет?
источник