免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1624 | 回复: 2

python二维数组我问题 [复制链接]

论坛徽章:
0
发表于 2016-10-27 22:08 |显示全部楼层
本帖最后由 冰轮月弧 于 2016-10-27 22:10 编辑
  1. 代码如下
  2. #!/usr/bin/python
  3. #coding=utf-8
  4. import random
  5. global x
  6. global y
  7. global l
  8. def suiji():
  9.         global x
  10.         global y
  11.         global l
  12.         x=random.randint(1,9) #X轴
  13.         y=random.randint(1,9) #Y轴
  14.         xjiance()
  15.         #随机结束,代入X轴检测
  16.         yjiance()
  17.         #y轴进行冲突检测
  18.         l[x][y]=1
  19. def xjiance():
  20.         x1=1
  21.         while x1<=9: #循环检测X轴
  22.                 if l[y][x1]==1: #如果X轴检测到冲突
  23.                         suiji() #打回重新随机
  24.                 x1+=1

  25. def yjiance():
  26.         y1=1
  27.         while y1<=9: #循环检测Y轴
  28.                 if l[y1][x]==1: #如果Y轴检测到冲突
  29.                         suiji() #打回随机
  30.                 y1+=1

  31. #主程序开始
  32. #生成矩阵数组
  33. l= [[0 for p in range(10)] for i in range(10)]
  34. #初始化数组
  35. u=0
  36. t=0
  37. while u<9:
  38.         while t<9:
  39.                 l[u][t]=0
  40.                 t+=1
  41.         u+=1
  42. #初始化结束
  43. #八皇后循环开始
  44. i=1 #初始化循环变量
  45. while i<=9:
  46.         suiji()
  47.         i+=1
  48. ####test####
  49. a=1
  50. b=1
  51. while a<=9:
  52.         while b<=9:
  53.                 if l[a][b]==0:
  54.                         print "·",
  55.                 elif l[a][b]==1:
  56.                         print "+",
  57.                 b+=1
  58.         print
  59.         a+=1
复制代码

论坛徽章:
0
发表于 2016-10-27 22:11 |显示全部楼层
输出结果如下

[root@FinalMasterSpark py]# ./test4.py
· · · · · · · · ·

[root@FinalMasterSpark py]# vim test4.py

求解为何本来要输出8*8的阵列,最后只输出了一行

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
发表于 2016-10-28 22:19 |显示全部楼层
回复 1# 冰轮月弧


  1. #!/usr/bin/python
  2. #coding=utf-8
  3. import random
  4. global x
  5. global y
  6. global l
  7. def suiji():
  8.         global x
  9.         global y
  10.         global l
  11.         x=random.randint(1,9) #X轴
  12.         y=random.randint(1,9) #Y轴
  13.         xjiance()
  14.         #随机结束,代入X轴检测
  15.         yjiance()
  16.         #y轴进行冲突检测
  17.         l[x][y]=1
  18. def xjiance():
  19.         x1=1
  20.         while x1<=9: #循环检测X轴
  21.                 if l[y][x1]==1: #如果X轴检测到冲突
  22.                         suiji() #打回重新随机
  23.                 x1+=1

  24. def yjiance():
  25.         y1=1
  26.         while y1<=9: #循环检测Y轴
  27.                 if l[y1][x]==1: #如果Y轴检测到冲突
  28.                         suiji() #打回随机
  29.                 y1+=1

  30. #主程序开始
  31. #生成矩阵数组
  32. l= [[0 for p in range(10)] for i in range(10)]
  33. #初始化数组
  34. u=0
  35. t=0
  36. while u<9:
  37.         while t<9:
  38.                 l[u][t]=0
  39.                 t+=1
  40.         u+=1
  41. #初始化结束
  42. #八皇后循环开始
  43. i=1 #初始化循环变量
  44. while i<=9:
  45.         suiji()
  46.         i+=1
  47. ####test####
  48. a=1
  49. b=1
  50. while a<=9:
  51.         b = 1
  52.         while b<=9:
  53.                 if l[a][b]==0:
  54.                         print "L",
  55.                 elif l[a][b]==1:
  56.                         print "+",
  57.                 else:
  58.                         print "/",
  59.                 b+=1
  60.         print
  61.         a+=1

复制代码


就是加了一句

  1.         b = 1
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP