Python大鲸鱼 发表于 2020-3-29 18:31:33

求大佬能够给个细节注释!!!!

from random import shuffle
lst = list(range(9))
shuffle(lst)

def pr():
      global lst
      bl = [*3 for i in range(3)]
      for i in range(3):
                for j in range(3):
                        bl=str(lst) if lst != 0 else ' '
                print (' '.join(bl))

def mov(n):
      global lst
      d={0:(1,3),1:(0,2,4),2:(1,5),
         3:(0,4,6),4:(1,3,5,7),5:(2,4,8),
         6:(3,7),7:(4,6,8),8:(5,7)}
      for i in range(9):
                if not lst:
                        zero = i
      if zero in d:
               lst,lst = lst,lst
      else:
                print ('wrong input!')

def win():
      global lst
      return True if lst[:8] == list(range(1,9)) else False

print ('Welcome to play 9 blocks!')
pr()
while True:
      n = int(input('Move which number?'))
      mov(n)
      pr()
      if win():
                print ('You win!')
                break

Python大鲸鱼 发表于 2020-3-29 18:32:40

这是个数字九宫格小游戏,里边函数定义搞不懂,求教

python小鲨鱼 发表于 2020-3-29 18:34:51

同求
页: [1]
查看完整版本: 求大佬能够给个细节注释!!!!