设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

集中答疑专用贴

  [复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

111#
发表于 2016-3-3 23:50:04 |只看该作者
Miracle 发表于 2016-3-3 21:29
我想要学习Python用做科研中的数值计算模拟什么的,但需要额外的图形输出之类的功能,请问哪里能下到这种工 ...

Matplotlib
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

112#
发表于 2016-3-9 10:52:52 |只看该作者
sb了,自删= =
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

113#
发表于 2016-6-20 12:51:09 |只看该作者
crossin 你好。 我是一个刚开始学习Python的小白。 刚刚学到while的用法。 在编写猜数字的游戏代码中我遇到一个疑问。我发现你用的条件是 :
bingo=False
while binggo==False:
然后结尾处是:bingo=True.
虽然我明白‘bingo=False'这个条件在判定的时候为True,而且我也忍不住把条件中的False和True对调。
所以在我的代码中,条件是这样的:
bingo=True
while binggo==True:
然后结尾处是:binggo=False
运行后结果是一样的,那么我的问题是这两种写法有什么不一样的地方吗?会不会在未来的学习中产生不同的结果,还是只是两种不同的风格而已?
                             
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

114#
发表于 2016-6-20 14:39:51 |只看该作者
PrinceZero 发表于 2016-6-20 12:51
crossin 你好。 我是一个刚开始学习Python的小白。 刚刚学到while的用法。 在编写猜数字的游戏代码中我遇到 ...

只要保证逻辑清楚就可以了。因为‘bingo’有“猜中了”的意思,所以我这里这么写,并不是非要这样。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

33

积分

新手上路

Rank: 1

115#
发表于 2016-9-1 17:05:30 |只看该作者
本帖最后由 不许逗 于 2016-9-1 17:14 编辑

问个问题
使用的是Python2.7.5
想要使用pygame,但是系统是64位,没有直接安装的msi文件,只有whl
于是需要安装pip
安装pip提示 没有setuptools
下载了ez_setup.py
再开始安装pip,终于正常安装结束,设置环境变量
但是在cmd里 输入pip list ,却报错 提示no module named pip
为什么呢?? 感谢解答
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

116#
发表于 2016-9-2 10:46:13 |只看该作者
不许逗 发表于 2016-9-1 17:05
问个问题
使用的是Python2.7.5
想要使用pygame,但是系统是64位,没有直接安装的msi文件,只有whl

你手动装pip的话,需要确认是不是添加到系统路径里了。有可能是装上了但路径没加所以找不到,跟装python设路径一个意思。
其实还是直接下载安装包会方便,把所有安装选项都选上
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

33

积分

新手上路

Rank: 1

117#
发表于 2016-9-2 11:45:42 |只看该作者
crossin先生 发表于 2016-9-2 10:46
你手动装pip的话,需要确认是不是添加到系统路径里了。有可能是装上了但路径没加所以找不到,跟装python ...

加路径肯定加了,没加的话应该连找pip都找不到。
问题还是没弄清楚
我全部卸载掉
然后装了2.7.12的版本
直接自带的pip装上去,避开了吧……
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

118#
发表于 2016-9-3 11:00:51 |只看该作者
不许逗 发表于 2016-9-2 11:45
加路径肯定加了,没加的话应该连找pip都找不到。
问题还是没弄清楚
我全部卸载掉

看上去像是,执行的路径找到了,但代码里引用的环境不对
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

33

积分

新手上路

Rank: 1

119#
发表于 2016-9-9 23:46:16 |只看该作者
写了一个2048的简单框架
一直是错误的结果,求debug
  1. # -*- coding: utf-8 -*-
  2. import random
  3. list1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  4. print '-------2048--------'

  5. def newway(n):
  6.     new_list = [2,2,4]
  7.     list_weizhi = []
  8.     new = random.choice(new_list)
  9.     a = 0
  10.     for i in n:
  11.         a = a + 1
  12.         if i == 0:
  13.             list_weizhi.append(a)
  14.     weizhi = random.choice(list_weizhi)
  15.     n[weizhi - 1] = new
  16.     return n
  17. #向列表中空项添加2或4
  18.    
  19. def yidong(x,xulie):#x为原list,xulie为对应方法的序列list
  20.     list_final = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  21.     for m in xulie:#m为一待排序列的位置
  22.         list_read = []
  23.         for n in m:
  24.             list_read.append(x[n-1])      
  25.         list_out = [0,0,0,0]
  26.         if list_read[0]==list_read[1]==list_read[2] and list_read[3]==0:
  27.             list_read[1],list_read[2] = 0,list_read[2]*2
  28.         elif list_read[2]==list_read[1]==list_read[3] and list_read[0]==0:
  29.             list_read[2],list_read[3] = 0,list_read[2]*2
  30.             list_out = list_read
  31.         elif list_read[2]==list_read[1]==list_read[3]==list_read[0]:
  32.             list_read[0],list_read[1],list_read[2],list_read[3]=0,list_read[1]*2,0,list_read[3]*2
  33.             list_out = list_read
  34.         else:
  35.             for weizhi in range(1,4):            
  36.                 if list_read[weizhi - 1] == list_read[weizhi]:
  37.                     list_out[weizhi] = list_read[weizhi] * 2
  38.         #实行加法
  39.             
  40.         save = 1        
  41.         while save == 1:
  42.             save = 0
  43.             for i in range(1,4):
  44.                 if list_out[i] == 0 and list_out[i - 1] != 0:
  45.                     list_out[i] = list_out[i-1]
  46.                     save = 1
  47.         #移动过0(即空位)        
  48.         #此时获得一个储存该方向列的操作后版本的列表
  49.                
  50.         xgl = zip(m,list_out)
  51.         for j,k in xgl:
  52.             list_final[j-1] = k
  53.         #向最终输出的list_final进行赋值
  54.     return list_final
  55.    
  56. list1 = newway(list1)
  57. while True:
  58.     print list1[0:4],'\n',list1[4:8],'\n',list1[8:12],'\n',list1[12:16]
  59.     print '输入w或a或s或d,来操控数字向上或左或下或右移动。'
  60.     player = raw_input()
  61.     if player == 'w':
  62.         list1 = yidong(list1,[[13,9,5,1],[14,10,6,2],[15,11,7,3],[16,12,8,4]])
  63.     if player == 'a':
  64.         list1 = yidong(list1,[[4,3,2,1],[8,7,6,5],[12,11,10,9],[16,15,14,13]])
  65.     if player == 's':
  66.         list1 = yidong(list1,[[1,5,9,13],[2,6,10,14],[3,7,11,15],[4,8,12,16]])
  67.     if player == 'd':
  68.         list1 = yidong(list1,[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
  69.     list1 = newway(list1)
复制代码
回复

使用道具 举报

1

主题

0

好友

33

积分

新手上路

Rank: 1

120#
发表于 2016-9-9 23:47:23 |只看该作者
写了一个2048的简单框架
一直是错误的结果,求debug
  1. # -*- coding: utf-8 -*-
  2. import random
  3. list1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  4. print '-------2048--------'

  5. def newway(n):
  6.     new_list = [2,2,4]
  7.     list_weizhi = []
  8.     new = random.choice(new_list)
  9.     a = 0
  10.     for i in n:
  11.         a = a + 1
  12.         if i == 0:
  13.             list_weizhi.append(a)
  14.     weizhi = random.choice(list_weizhi)
  15.     n[weizhi - 1] = new
  16.     return n
  17. #向列表中空项添加2或4
  18.    
  19. def yidong(x,xulie):#x为原list,xulie为对应方法的序列list
  20.     list_final = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  21.     for m in xulie:#m为一待排序列的位置
  22.         list_read = []
  23.         for n in m:
  24.             list_read.append(x[n-1])      
  25.         list_out = [0,0,0,0]
  26.         if list_read[0]==list_read[1]==list_read[2] and list_read[3]==0:
  27.             list_read[1],list_read[2] = 0,list_read[2]*2
  28.         elif list_read[2]==list_read[1]==list_read[3] and list_read[0]==0:
  29.             list_read[2],list_read[3] = 0,list_read[2]*2
  30.             list_out = list_read
  31.         elif list_read[2]==list_read[1]==list_read[3]==list_read[0]:
  32.             list_read[0],list_read[1],list_read[2],list_read[3]=0,list_read[1]*2,0,list_read[3]*2
  33.             list_out = list_read
  34.         else:
  35.             for weizhi in range(1,4):            
  36.                 if list_read[weizhi - 1] == list_read[weizhi]:
  37.                     list_out[weizhi] = list_read[weizhi] * 2
  38.         #实行加法
  39.             
  40.         save = 1        
  41.         while save == 1:
  42.             save = 0
  43.             for i in range(1,4):
  44.                 if list_out[i] == 0 and list_out[i - 1] != 0:
  45.                     list_out[i] = list_out[i-1]
  46.                     save = 1
  47.         #移动过0(即空位)        
  48.         #此时获得一个储存该方向列的操作后版本的列表
  49.                
  50.         xgl = zip(m,list_out)
  51.         for j,k in xgl:
  52.             list_final[j-1] = k
  53.         #向最终输出的list_final进行赋值
  54.     return list_final
  55.    
  56. list1 = newway(list1)
  57. while True:
  58.     print list1[0:4],'\n',list1[4:8],'\n',list1[8:12],'\n',list1[12:16]
  59.     print '输入w或a或s或d,来操控数字向上或左或下或右移动。'
  60.     player = raw_input()
  61.     if player == 'w':
  62.         list1 = yidong(list1,[[13,9,5,1],[14,10,6,2],[15,11,7,3],[16,12,8,4]])
  63.     if player == 'a':
  64.         list1 = yidong(list1,[[4,3,2,1],[8,7,6,5],[12,11,10,9],[16,15,14,13]])
  65.     if player == 's':
  66.         list1 = yidong(list1,[[1,5,9,13],[2,6,10,14],[3,7,11,15],[4,8,12,16]])
  67.     if player == 'd':
  68.         list1 = yidong(list1,[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
  69.     list1 = newway(list1)
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-7 01:35 , Processed in 0.024198 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部