AttributeError:' NoneType'对象没有属性'替换'

时间:2014-06-13 10:59:43

标签: python

对不起,我并不擅长python 但我的问题是我需要更换一个角色 这是我试图改变的所有我需要改变的是#到所有行的A

def puzzle():
print ("#+/084&;")
print ("#3*#%#+")
print ("8%203:")
print (",1$&")
print ("!-*%")
print (".#7&33&")
print ("#*#71%")
print ("&-&641'2")
print ("#))85")
print ("9&330*;")

所以这就是我试图做的事情(它在另一个py文件中)

from original_puzzle import puzzle

puzzle()

result = puzzle()

question = input("first letter ")

for letter in question:
    if letter == "a":
        result = result.replace("#","A")
        print (result)

这是它给我的东西

 Traceback (most recent call last):
  File "N:\AQA 4512;1-practical programming\code\game.py", line 36, in <module>
    result = result.replace("#","A")
AttributeError: 'NoneType' object has no attribute 'replace'
如果有人告诉我一个不同的方式,它会有所帮助 感谢你的帮助,再次感谢对不起我在python

2 个答案:

答案 0 :(得分:2)

如果你没有从python函数显式返回某些内容,python将返回None。

>>> def puzzle():
...   print 'hi'
... 
>>>
>>> puzzle() is None
hi
True
>>> def puzzle():
...   print 'hi'
...   return None
... 
>>> puzzle() is None
hi
True
>>> def puzzle():
...   return 'hi'
... 
>>> puzzle()        
'hi'
>>> puzzle() is None
False
>>> 

答案 1 :(得分:0)

puzzle()函数不返回任何内容。这就是您收到此错误的原因。