错误调试

调试

1希望缩小可能的错误源的空间。
2暴露中间阶段的设计实验(使用print),并利用结果进一步缩小搜索范 围。
3二进制搜索可以成为这方面的一个强大工具。

教授的代码 (二分法和print使用)
def isPal(x):
assert type(x) == list
temp = x[:]
print(temp, x)
temp.reverse()
print(temp, x)
if temp == x:
return True
else:
return False
def silly(n):
result = []
for i in range(n):
elem = raw_input('Enter element: ')
result.append(elem)
if isPal(result):
print(‘Yes’)
else:
print(‘No’)

更正后
def isPal(x):
assert type(x) == list
temp = x[:]
print(temp, x) #
temp.reverse()
print(temp, x) #
if temp == x:
return True
else:
return False
def silly(n):
result = [] #第一处将循环里的result
for i in range(n):
elem = raw_input('Enter element: ')
result.append(elem)
if isPal(result):
print(‘Yes’)
else:
print(‘No’)

错误调试的提示
Look for the usual suspects
• Ask why the code is doing what it is, not why it
is not doing what you want
• The bug is probably not where you think it is –
eliminate locations
• Explain the problem to someone else
• Don’t believe the documentation
• Take a break and come back to the

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值