我正在尝试模拟骰子的滚动并使用了此代码
class dicesimulator:
def __init__(self, list = [0,0,0,0,0,0]):
self.list = list
@staticmethod
def diceroller():
outcome = random.randit(0,5)
print outcome + 1
mydice = dicesimulator()
print mydice.diceroller
然而,当我运行代码时,它返回而不是数字。为什么会这样呢?另外据我所知,我也应该能够在静态方法上调用类本身,即dicesimulator.diceroller。但是,它也会返回
答案 0 :(得分:0)
所以有几个问题。首先,使用静态方法并不是一个非常好的理由。它与制作一个功能基本上没什么不同。其次,您实际上并没有从diceroller()方法中返回数字。第三,你实际上并没有调用diceroller,因为你忘了把parens放在一边,而是直接打印函数(它的字符串表示)。
答案 1 :(得分:0)
你忘了那些parens。
$( "#relations ol" ).droppable({
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept: ":not(.ui-sortable-helper)",
drop: function( event, ui ) {
$( this ).find( ".placeholder" ).remove();
$( "<li></li>" ).text( ui.draggable.text() ).appendTo( this );
}
答案 2 :(得分:0)
我很高兴你找到了压痕修复。 (1)您询问了diceroller对象,而不是调用该方法。 (2)没有“randit”。试试“randint”。
import random
class dicesimulator:
def __init__(self, list = [0,0,0,0,0,0]):
self.list = list
这会产生输出
6
None
请注意,您尚未从函数diceroller返回任何内容。你还没有使用过dicesimulator.list。
考虑在互联网上搜索实现。
答案 3 :(得分:0)
没有必要通过不必要地使用类和静态方法使事情复杂化。
from random import randint
print(randint(1,6))