You do not return anything once the input is not valid. Do this instead:
def getplayerinput():
a = ["rock","paper","scissors"]
plin = raw_input("Choose %s/%s/%s: " %(a[0], a[1], a[2]))
print plin,'-first print'
if plin not in a:
print "Wrong input"
return getplayerinput() # <- added return
else:
print plin,'-second print'
return plin
for i in range(0,11):
print getplayerinput()
Otherwise the recursion call will return something to a top level call, but that one just swallows the return value from the recursion call, since it doesn't pass it on via return.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…