设为首页收藏本站

Crossin的编程教室

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

集中答疑专用贴

  [复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

1

主题

0

好友

33

积分

新手上路

Rank: 1

122#
发表于 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

123#
发表于 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)
复制代码
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

124#
发表于 2016-9-11 00:22:39 |只看该作者
不许逗 发表于 2016-9-9 23:47
写了一个2048的简单框架
一直是错误的结果,求debug

程序报错还是结果不对?
这一大段代码放上来让别人debug吗……
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

125#
发表于 2016-9-11 22:43:26 |只看该作者
做查询天气的习题过程中,出现了个bug,抓不到相应的城市代码,求看看是哪里不对呀~

# -*- coding: utf-8 -*-
import urllib2
import json
from city import city

print city.get('天津')//检查是否可从字典中找到value

cityname=raw_input('请输入城市名字\n')

print cityname//检查是否为字符串

citycode=city.get(cityname)

print citycode//检查是否得到相应代码

if citycode:
    url=('http://www.weather.com.cn/weather/%s.shtml?from=cn'%citycode)
    content=urllid2.urlopen(url).read()
    print content
else:
    print '暂不支持查询该城市'


101030100
请输入城市名字
天津
天津
None
暂不支持查询该城市
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

126#
发表于 2016-9-12 10:37:14 |只看该作者
琴叶榕 发表于 2016-9-11 22:43
做查询天气的习题过程中,出现了个bug,抓不到相应的城市代码,求看看是哪里不对呀~

# -*- coding: utf-8  ...

windows的话,要把 utf-8 改成 gbk。city.py 开头也要加上
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

127#
发表于 2016-9-12 20:07:24 |只看该作者
crossin先生 发表于 2016-9-12 10:37
windows的话,要把 utf-8 改成 gbk。city.py 开头也要加上

好滴,谢谢解答哈~
回复

使用道具 举报

1

主题

0

好友

21

积分

新手上路

Rank: 1

128#
发表于 2016-10-10 09:55:31 |只看该作者
crossin先生 发表于 2014-1-15 10:23
不要完全把整数和True/False等同
bool转成整型,True是1,False是0,所以3==True这个是错的,1==True才是 ...

这里一个细节请问:
在机器执行过程中,是否都可以认为都是从右向左,从里向外执行的?
比如,3==True --> 代表True 被转化为 1然后和3去 ==,而不是反过来

有没有什么例外的情况呢?
请先生指教!谢谢
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

129#
发表于 2016-10-10 11:09:19 |只看该作者
silypho 发表于 2016-10-10 09:55
这里一个细节请问:
在机器执行过程中,是否都可以认为都是从右向左,从里向外执行的?
比如,3==True -- ...

只有赋值是从右向左,正常还是从左向右
3 == True 这里不存在左右,就是一个比较式
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

130#
发表于 2016-10-23 09:19:01 来自手机 |只看该作者
crossin先生 发表于 2013-9-13 01:30
我也发现了,最近百度云有点抽风

手机编程有哪些好用的软件,我是个刚开始学的菜鸡
回复

使用道具 举报

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

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

GMT+8, 2024-5-14 06:06 , Processed in 0.033639 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部