除了使用 def 之外,是否有更好的方法来重复代码

Is there a better way to repeat code other than using def

我有

    print(randint(0,12))

除了全部复制或使用

之外,是否有更快更简单的方法能够在一行中执行三次
    def RandNum(number):
        print(randint(0,12))

所以有没有一种方法可以让我 运行 真正快速地完成第一段代码,而不是继续使用。

    (RandNum("number"))

我什么时候需要随机数?

谢谢。我想找到尽可能多的替代方法来做到这一点。

希望对您有所帮助!!

from random import randint

def RandNum(number):
    l = []
    for _ in range(number):
        l.append(randint(0,12))
    print " ".join(map(str, l))

RandNum(3)

因此您希望随机 randint 只执行 3 次。就是这样

from random import randint
timesexecuted = int(0)
while timesexecuted < 3:
    print(randint(0,12))
    timesexecuted = timesexecuted + 1

#after this anything you want happen next.

当你循环次数较多时,这种方法最有效,例如,你想执行 print(randint(0,12)) 数百次,这种方法可能最容易编写。

说明

timesexecuted 设置为 int(0) 因为没有循环 运行 并且我们需要定义 timesexecuted。我们需要 运行 循环 3 次才能做到这一点,在循环中,我们将 1 添加到 timesexecutedtimesexecuted + 1 并且一旦 timesexecuted 达到 3(从 0 开始,执行 1 个循环,现在是 1,在另一个循环之后,变成 2,执行第三个循环,现在是 3)。由于我们在 while timesexecuted < 3: 下有循环,因为 timesexecuted 现在是 3 因为循环有 运行 3 次,所以 timesexecuted < 3 不再为真,循环将 运行 没有了。 3 也可以更改为任意数字,如果循环多次,则此方法可能是最好的方法。 (例如,使用 while timesexecuted < 200: 循环此程序 200 次)

希望我有所帮助。

如果您使用的是 python 3,则可以将 print() 函数与三个数字的列表一起使用。可选参数 sep 的默认值为 space,因此如果您需要用 space.

分隔的三个数字,则不必定义它
print(*[random.randint(0, 12) for _ in range(3)])

首先,请问有什么原因不能抄出'randint'?这是最有效的解决方案,但确实涉及一些输入:

number1 = random.randint(0,12)

如果您不介意使用函数(我推荐),请尝试使用函数设置变量:

def RandNum():
        return random.randint(0,12)

number1 = RandNum()
number2 = RandNum()

这将使数字随机,但在整个程序中保持不变。 祝你的计划顺利!

P.S。 return命令停止函数,'returns'进入主程序。例如如果我有代码:

def function():
        return 3
        return 2
        return 1

只有 3 个将被 return编辑并由主程序使用。