有问题就有答案
Q1:Python错误怎么解决?
这是提示你,你的程序出现了语法错误。解决办法:你把你的程序中的那句”fahrenheit=(9.0/5.0)*celsius+32“改成”fahrenheit=(9.0/5.0)*int(celsius)+32“就可以了。原因:在写程序过程中,input函数返回的值是一个字符串,不是一个整数,也不是一个浮点数。在用input返回的值参加运算时,要先进行类型转换。(注意事项:另外,在2.X中,input函数为raw_input,在3.X中才把raw_input改为了input,其实这两个函数是一样的,只不过用在不同的版本里,在2.7中,要用raw_input。)
Q2:python出现这个错误是什么原因?
它表明您已经进入了python交互模式,在这种模式下不能使用dos系统命令。如果必须使用,请输入quit()并按回车键退出交互模式。
Q3:python中出现这样的错误是怎么回事
notepad++有一个设置文件编码的功能,你先改成还有。。为什么是txt文件。。
Q4:python出现这个错误怎么办?
如果解决不了,重新安装,把精力放在重要的方向上。
Q5:python这样的错误怎么回事?
这是提示你,你的程序来出现了语法错误。解决办法:你把你的程序中的那句”自fahrenheit=(9.0/5.0)*celsius+32“改成”fahrenheit=(9.0/5.0)*int(celsius)+32“就可以了。原因:在写程序过程中,input函数返回的值是一百个度字符串,不是一个整数,也不是一个浮点数。问在用input返回的值参加运算时,要先进行类型转换。(注意事答项:另外,在2.X中,input函数为raw_input,在3.X中才把raw_input改为了input,其实这两个函数是一样的,只不过用在不同的版本里,在2.7中,要用raw_input。)
Q6:python 出现这个错误是什么原因
要把代码发现来才知道,以下是常见的错误下面终于要讲到当你用到更多的Python的功能(数据类型,函数,模块,类等等)时可能碰到的问题了。由于篇幅有限,这里尽量精简,尤其是对一些高级的概念。要想了解更多的细节,敬请阅读Learning Python, 2nd Edition的逗小贴士地以及逗Gotchas地章节。打开文件的调用不使用模块搜索路径当你在Python中调用open()来访问一个外部的文件时,Python不会使用模块搜索路径来定位这个目标文件。它会使用你提供的绝对路径,或者假定这个文件是在当前工作目录中。模块搜索路径仅仅为模块加载服务的。不同的类型对应的方法也不同列表的方法是不能用在字符串上的,反之亦然。通常情况下,方法的调用是和数据类型有关的,但是内部函数通常在很多类型上都可以使用。举个例子来说,列表的reverse方法仅仅对列表有用,但是len函数对任何具有长度的对象都适用不能直接改变不可变数据类型记住你没法直接的改变一个不可变的对象(例如,元组,字符串):T = (1, 2, 3)T[2] = 4 # 错误用切片,联接等构建一个新的对象,并根据需求将原来变量的值赋给它。因为Python会自动回收没有用的内存,因此这没有看起来那么浪费:T = T[:2] + (4,) # 没问题了: T 变成了 (1, 2, 4)使用简单的for循环而不是while或者range当你要从左到右遍历一个有序的对象的所有元素时,用简单的for循环(例如,for x in seq:)相比于基于while-或者range-的计数循环而言会更容易写,通常运行起来也更快。除非你一定需要,尽量避免在一个for循环里使用range:让Python来替你解决标号的问题。在下面的例子中三个循环结构都没有问题,但是第一个通常来说更好;在Python里,简单至上。S = "lumberjack" for c in S: print c # 最简单 for i in range(len(S)): print S[i] # 太多了 i = 0 # 太多了while i >> L = ["grail"] # 在 L中又引用L自身会>>> L.append(L) # 在对象中创造一个循环>>> L["grail", [...]]除了知道这三个点在对象中表示循环以外,这个例子也是很值得借鉴的。因为你可能无意间在你的代码中出现这样的循环的结构而导致你的代码出错。如果有必要的话,维护一个列表或者字典来表示已经访问过的对象,然后通过检查它来确认你是否碰到了循环。赋值语句不会创建对象的副本,仅仅创建引用这是Python的一个核心理念,有时候当行为不对时会带来错误。在下面的例子中,一个列表对象被赋给了名为L的变量,然后L又在列表M中被引用。内部改变L的话,同时也会改变M所引用的对象,因为它们俩都指向同一个对象。>>> L = [1, 2, 3] # 共用的列表对象>>> M = ["X", L, "Y"] # 嵌入一个到L的引用>>> M["X", [1, 2, 3], "Y"] >>> L[1] = 0 # 也改变了M>>> M["X", [1, 0, 3], "Y"]通常情况下只有在稍大一点的程序里这就显得很重要了,而且这些共用的引用通常确实是你需要的。如果不是的话,你可以明确的给他们创建一个副本来避免共用的引用;对于列表来说,你可以通过使用一个空列表的切片来创建一个顶层的副本:>>> L = [1, 2, 3]>>> M = ["X", L[:], "Y"] # 嵌入一个L的副本 >>> L[1] = 0 # 仅仅改变了L,但是不影响M>>> L[1, 0, 3]>>> M["X", [1, 2, 3], "Y"]切片的范围起始从默认的0到被切片的序列的最大长度。如果两者都省略掉了,那么切片会抽取该序列中的所有元素,并创造一个顶层的副本(一个新的,不被公用的对象)。对于字典来说,使用字典的dict.()方法。静态识别本地域的变量名Python默认将一个函数中赋值的变量名视作是本地域的,它们存在于该函数的作用域中并且仅仅在函数运行的时候才存在。从技术上讲,Python是在编译def代码时,去静态的识别本地变量,而不是在运行时碰到赋值的时候才识别到的。如果不理解这点的话,会引起人们的误解。比如,看看下面的例子,当你在一个引用之后给一个变量赋值会怎么样:>>> X = 99>>> def func():... print X # 这个时候还不存在... X = 88 # 在整个def中将X视作本地变量...>>> func( ) # 出错了!你会得到一个逗未定义变量名地的错误,但是其原因是很微妙的。当编译这则代码时,Python碰到给X赋值的语句时认为在这个函数中的任何地方X会被视作一个本地变量名。但是之后当真正运行这个函数时,执行print语句的时候,赋值语句还没有发生,这样Python便会报告一个逗未定义变量名地的错误。事实上,之前的这个例子想要做的事情是很模糊的:你是想要先输出那个全局的X,然后创建一个本地的X呢,还是说这是个程序的错误看如果你真的是想要输出这个全局的X,你需要将它在一个全局语句中声明它,或者通过包络模块的名字来引用它。默认参数和可变对象在执行def语句时,默认参数的值只被解析并保存一次,而不是每次在调用函数的时候。这通常是你想要的那样,但是因为默认值需要在每次调用时都保持同样对象,你在试图改变可变的默认值(mutable defaults)的时候可要小心了。例如,下面的函数中使用一个空的列表作为默认值,然后在之后每一次函数调用的时候改变它的值:>>> def saver(x=[]): # 保存一个列表对象... x.append(1) # 并每次调用的时候... print x # 改变它的值...>>> saver([2]) # 未使用默认值[2, 1]>>> saver() # 使用默认值[1]>>> saver() # 每次调用都会增加![1, 1]>>> saver()[1, 1, 1]有的人将这个视作Python的一个特点——因为可变的默认参数在每次函数调用时保持了它们的状态,它们能提供像C语言中静态本地函数变量的类似的一些功能。但是,当你第一次碰到它时会觉得这很奇怪,并且在Python中有更加简单的办法来在不同的调用之间保存状态(比如说类)。要摆脱这样的行为,在函数开始的地方用切片或者方法来创建默认参数的副本,或者将默认值的表达式移到函数里面;只要每次函数调用时这些值在函数里,就会每次都得到一个新的对象:>>> def saver(x=None):... if x is None: x = [] # 没有传入参数看... x.append(1) # 改变新的列表... print x...>>> saver([2]) # 没有使用默认值[2, 1]>>> saver() # 这次不会变了[1]>>> saver()[1]其他常见的编程陷阱下面列举了其他的一些在这里没法详述的陷阱:在顶层文件中语句的顺序是有讲究的:因为运行或者加载一个文件会从上到下运行它的语句,所以请确保将你未嵌套的函数调用或者类的调用放在函数或者类的定义之后。reload不影响用from加载的名字:reload最好和import语句一起使用。如果你使用from语句,记得在reload之后重新运行一遍from,否则你仍然使用之前老的名字。在多重继承中混合的顺序是有讲究的:这是因为对superclass的搜索是从左到右的,在类定义的头部,在多重superclass中如果出现重复的名字,则以最左边的类名为准。在try语句中空的except子句可能会比你预想的捕捉到更多的错误。在try语句中空的except子句表示捕捉所有的错误,即便是真正的程序错误,和sys.exit()调用,也会被捕捉到。