# Python Grid Labyrinth Problem

Asked 1 weeks ago, Updated 1 weeks ago, 1 views

Python is really a beginner. It hasn't been long since I started.

The study group gave me a question, but I didn't get close yet and asked, so Python gave me a question If you solve it, I'll analyze it one by one.

python

2022-09-20 10:23

I deleted the unproductive comment I just wrote. Instead, I'm going to think about the problem. For your information, it is a difficult problem that takes a long time to actually code.

In theory...

...can solve the problem

So that's a very simple form of theory, and there's a lot more to consider in practice. There is a lot of room for loopholes in the above theory itself. It's like a comprehensive gift set that requires all sorts of applications in the first place. If you ask me to code right now, I think I'll have to use it for a week at my level.

Good luck.

2022-09-20 10:23

I don't usually do other people's homework.No, I don't know because I'm not good enough. I did it because it looked fun.

It's not my homework anyway, so it doesn't matter if I get it wrong, right? LOL

I think I need to use a different module, but I don't know how to use it, so I just roughly did it.

``````from random import randrange

list_a = [
['a', 'b', 't', 't', 't'],
['t', 'c', 'd', 'e', 't'],
['t', 't', 't', 'f', 't'],
['b', 'a', 'h', 'g', 'f'],
['c', 'd', 'e', 'f', 'g'],
]

count = 1
move = 0

num1 = randrange(0, 4)
num2 = randrange(0, 4)

print(num1, num2)

a = list_a[num1][num2]

print('reference value', a, order(a))

while 1:
dict_a = {}
a = list_a[num1][num2]
print (f' current location: {num1}, {num2}, {a}')
for i in list_a:
print(i)

try:
if num1 + 1 > 4:
raise
dict_a[ord(list_a[num1 + 1][num2])] = [num1 + 1, num2]
except:
pass
try:
if num1 - 1 < 0:
raise
dict_a[ord(list_a[num1 - 1][num2])] = [num1 - 1, num2]
except:
pass
try:
if num2 + 1 > 4:
raise
dict_a[ord(list_a[num1][num2 + 1])] = [num1, num2 + 1]
except:
pass
try:
if num2 - 1 < 0:
raise
dict_a[ord(list_a[num1][num2 - 1])] = [num1, num2 - 1]
except:
pass

print('dict_a', dict_a)

if count:
print ('There is a chance to move')
r = randrange(0, 1)
if r:
print ('Use travel opportunities')
count -= 1
b = {i:dict_a[i] for i in dict_a if i < ord(a)}
else:
print ('no opportunity to move')
b = {i:dict_a[i] for i in dict_a if i > ord(a)}
else:
print ('no opportunity to move')
b = {i:dict_a[i] for i in dict_a if i > ord(a)}

print(b)

bb = 0
print (previous location: {num1}, {num2}, {a}')
if b:
num_b = randrange(0, len(b))
print('num_b', num_b)
for n, i in enumerate(dict_a.keys()):
c = i
if n == num_b:
break
bb += 1
print('c', c)
num1 = dict_a[c]
num2 = dict_a[c]
else:
print ('no moveable position')
if count:
print ('Use travel opportunities')
count -= 1
b = {i:dict_a[i] for i in dict_a if i < ord(a)}
if b:
num_b = randrange(0, len(b))
print('num_b', num_b)
for n, i in enumerate(dict_a.keys()):
c = i
if n == num_b:
break
bb += 1
print('c', c)
num1 = dict_a[c]
num2 = dict_a[c]

if not bb:
print ("End of Movement")
break
move += 1
print('Number of moves:', move)

input()
print ('Final number of movements:', move)
``````

2022-09-20 10:23

Popular Tags
python x 1522
android x 362
c x 361
java x 353
javascript x 303
php x 126
swift x 112
mysql x 92
r x 87
html x 51