veriftype有效,但veriftype2无效。是因为我读取第二行的方法不正确吗?它正在读取的文本文件每行有一个字符,每行有一个x或一个o。我尝试仅使用f.read(2),但似乎没人能做到。我似乎找不到任何其他问题的根源,因为当我打印应该为行值的变量时,它会为我提供正确的值,但是if语句不会运行,而只是跳至其他部分。
def veriftype(self):
f = open("Transfert.txt", "r")
y = f.readline(1)
print (y)
if y == "x":
if type(self) == Retriever or type(self) == Shepherd:
self.points += 1
print("It worked for the dogs.")
else:
print("It recognized the type wasn't correct, so it didn't get any points.")
elif y == "o":
print("It recognized the o")
else:
print("It didn't recognize anything")
print(self.points)
def veriftype2(self):
with open("Transfert.txt") as f:
ligne = f.readlines()
z = ligne[2]
print(z)
if ligne[2] == "x":
if type(self) == Perroquet or type(self) == Macaw:
self.points += 1
print("It worked for the birds.")
else:
print("It recognized the type wasn't correct, so it didn't get any points.")
elif ligne[2] == "o":
print("It recognized the o")
else:
print("It didn't recognize anything")
# print(self.points)
您的代码可以工作,但是它无法识别字符,因为readlines()还包含换行符,因此它读取的是'x \ n'而不是'x'。因此,没有文字匹配。替换.readlines()
为.read().splitlines()
以解决此问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句