A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

promo

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© promo 初级黑马   /  2018-8-2 00:04  /  563 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本人总结了几个导致程序报错的几个小总结。  1)忘记在 if, elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError
  :invalid syntax”)
  该错误将发生在类似如下代码中:
  if spam == 42
  print('Hello!')
  2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”)
  = 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:
  if spam = 42:
  print('Hello!')
  3)错误的使用缩进量。(导致“IndentationError:unexpected
  indent”、“IndentationError:unindent does not match any outer indetation
  level”以及“IndentationError:expected an indented block”)
  记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:
  print('Hello!')
  print('Howdy!')
  或者:if spam == 42:
  print('Hello!')
  print('Howdy!')
  或者:if spam == 42:
  print('Hello!')
  4)在 for循环语句中忘记调用 len()(导致“TypeError: ‘list’ object cannot be interpreted as
  an integer”)
  通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。
  该错误发生在如下代码中:
  spam = ['cat', 'dog', 'mouse']for i in range(spam):
  print(spam)
  5)尝试修改string的值(导致“TypeError: ‘str’ object does not support item
  assignment”)
  string是一种不可变的数据类型,该错误发生在如下代码中:
  spam = 'I have a pet cat.'spam[13]
  = 'r'print(spam)
  而你实际想要这样做:
  spam = 'I have a pet cat.'spam = spam[:13]
  + 'r' + spam[14:]
  print(spam)
  6)尝试连接非字符串值与字符串(导致 “TypeError: Can’t convert ‘int’ object to str
  implicitly”)
  该错误发生在如下代码中:
  numEggs = 12print('I have ' + numEggs + ' eggs.')
  而你实际想要这样做:
  numEggs = 12print('I have ' + str(numEggs) + ' eggs.')
  或者:
  numEggs = 12print('I have %s eggs.' % (numEggs))



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马