1、报错:
inconsistent use of tabs and spaces in indentation
问题原因:你的代码中有空格和tab混用
解决:自己吧缩进重新整一下
2、语法报错:
invalid syntax
解决办法:查看系统给你标记的地方,我这里是没写冒号。
3、expected an indented block
错误:缩进错误: 期望一个缩进的块
就是没有遵守人家的缩进规则
比如下面,就是函数写完,冒号回车自动空格,我顶格了。
def hanshu():
temp = input('请输入一句话:')
length = len(temp)
x = length//2
for i in range(i,length):
for j in range(0,i):
if temp[i] == temp[j]:
print("是回联文")
else:
print("bu是回联文")
改成如下就可以了:
def hanshu():
temp = input('请输入一句话:')
length = len(temp)
x = length//2
for i in range(i,length):
for j in range(0,i):
if temp[i] == temp[j]:
print("是回联文")
else:
print("bu是回联文")
4、变量调用有问题,就是全局变量的毛病
local variable 'var' referenced before assignment
举例:
def outside():
var = 5
def inside():
print(var)
var = 3
inside()
outside()
改成:
def outside():
var = 5
def inside():
nonlocal var
print(var)
var = 3
inside()
outside()
5、print()函数报错:传参问题
File "D:/untitled/36_.py", line 27, in setRect
print("这个矩阵的长是%c,宽是:%c" % long,wide)
TypeError: not enough arguments for format string
我的出错那块的代码修改为以下就好了,加括号:
print("这个矩阵的长是%c,宽是:%c" % (long,wide))
6、
报错内容:
TypeError: getName() missing 1 required positional argument: 'name'
我的代码:
>>> class Person:
__name = "xiaojiayu"
def getName(self):
return self.__name
>>> b.getName()
Traceback (most recent call last):
File "<pyshell#72>", line 1, in <module>
b.getName()
TypeError: getName() missing 1 required positional argument: 'name'
我的解决办法:
>>> class Person:
__name = "xiaojiayu"
def getName(self):
return self.__name
>>> b = Person() #就是这一行不可以省略,不然它不认识b是谁
>>> b.getName()
'xiaojiayu'
7、当你明明引入了time模块,但是她就是不认识localtime()这个BIF。。。
报错内容:
File "D:/untitled/44_.py", line 17, in start
self.begin = t.localtime()
AttributeError: 'Mytimer' object has no attribute 'localtime'
我的代码是这样的:
#计时器
import time as t
class Mytimer:
def __init__(self):
self.unit = ['年','月','日','时','分','秒']
self.prompt = "未开始计时"
self.begin = 0
self.end = 0
self.lasted = []
def __str__(self):
return self.prompt
def start(self):
self.begin = t.localtime()
print("计时开始")
def stop(self):
self.end = t.localtime()
self.__calc()
print("计时停止")
def __calc(self):
self.lasted = []
self.prompt = "总共运行了:"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
self.prompt += str(self.lasted[index])
if lasted[index]:
self.prompt += (str(self.lasted[index]-self.begin[index]))
我觉得没问题啊。。。。。。。对不对,我引入了time模块啊
于是我改成这样就没问题了,就是不要把import time as t改成import time
#计时器
import time
class Mytimer:
def __init__(self):
self.unit = ['年','月','日','时','分','秒']
self.prompt = "未开始计时"
self.begin = 0
self.end = 0
self.lasted = []
def __str__(self):
return self.prompt
def start(self):
self.begin = time.localtime()
print("计时开始")
def stop(self):
self.end = time.localtime()
self.__calc()
print("计时停止")
def __calc(self):
self.lasted = []
self.prompt = "总共运行了:"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
self.prompt += str(self.lasted[index])
if lasted[index]:
self.prompt += (str(self.lasted[index]-self.begin[index]))