我这里有这个代码:
import random
def AI():
choices = ["rock","paper","scissor"]
return str(random.choice(choices))
print(AI)
打印出来:
function AI at 0x0000000003527378
而不是rock
,paper
或scissor
。
当我在shell中或函数外部执行此操作时,它会返回并正常打印,但不会在函数中打印。我是Python的新手,所以这对我来说非常困惑。感谢
答案 0 :(得分:0)
您需要将()
放在其后面来调用该函数:
print(AI())
参见下面的演示:
>>> import random
>>> def AI():
... choices = ["rock","paper","scissor"]
... return str(random.choice(choices))
...
>>> print(AI)
<function AI at 0x0236CFA8>
>>> print(AI())
rock
>>>
此外,无需在random.choice(choices)
中包裹str
。以下代码可以正常工作:
return random.choice(choices)