学python第三弹 如果出现问题怎么解决
如果程序中出现错误无法运行,怎么办尼,
我们将会遇到下面两种不同类型的错误。
1语法错误
IDLE在尝试运行程序前会对程序做一些检查,如果发现错误,这往往是一个语法错误(syntax error)。语法是一种编程语言的拼写和文法规则,所以出现语法错误意味着你键入的某个内容不是正确的python代码。下面给出一个例子,
print('hello,and welcome to python !')
print('I hope you will enjoy learning to program .')
print(bye for you')
这里在print和bye for you之间漏了一个引号。
如果运行这个程序,IDLE会弹出一个错误,’there’s an error in your program:invalid syntax .‘,意思是说你的程序中会有一个错误,语法不正确,你必须查看代码,找出哪里出现了问题,IDLE编辑器会用红色突出显示它认为出错的位置,也许问题不会恰好出现在红色的位置,不过应该很接近。
2运行时错误
可能发生的第二种错误是运行程序之前python或IDLE无法检测出来的错误,这种错误只是在程序运行时才会发生,所以被称为运行时错误(runtime error).下面时程序中运行时错误的例子:
print('hello ,and welcome to python ')
print('I hope you will enjoy learning to program.')
print('bye for now ' +5)
如果保存这个程序,并试图运行,程序确实会开始运行,前两行会打印出来,但是接下来你会得到一个错误的消息:
Traceback (most recent call last):为错误消息的开始
。。。。。line 3, in module 为错误发生的位置
print(‘bye for now’ +5) 出错的代码行
TypeError: can only concatenate str(not 'int ') to str python 认为存在什么问题。
我们来分析分析这个问题出现的原因,
首先,print('bye for now' *5)是可以运行的 但是print('bye for now ' +5)
不可以,这个是为什么,因为python中,不能把两个完全不同的东西加在一起,例如苹果和鳄鱼,2个苹果加两个苹果等于4个苹果,但是两个苹果加两条鳄鱼等于4个什么尼,这样就没有任何意义了,但是,如果两条鳄鱼,在乘以五,那你就会有10条鳄鱼,正因如此,print(('bye for now ')*5 )是可以的。
像电脑一样思考
看到错误消息不要担心,他们只是帮助你找出哪里出现了问题,以便你改正错误,,如果程序中确实出现了问题,你肯定更希望看到错误消息,没有给出任何错误消息的bug才更难找到。1,bug 意思是‘臭虫’,程序员通常把讨厌的错误说成是bug。