3

我有

    print(randint(0,12))

除了全部复制或使用之外,是否有一种更快更简单的方法可以在一行中执行三遍

    def RandNum(number):
        print(randint(0,12))

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

    (RandNum("number"))

我什么时候需要随机数?

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

4

4 回答 4

2

希望这可以帮助!!

from random import randint

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

RandNum(3)
于 2015-12-17T10:03:27.113 回答
1

所以你希望随机 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 添加到timesexecutedwith 中timesexecuted + 1,因此一次timesexecuted最多为 3(从 0 开始,执行 1 循环,现在为 1,在另一个循环之后,变为 2,执行第三个循环,现在是 3)。并且由于我们在 下有循环while timesexecuted < 3:timesexecuted因为循环已经运行了 3 次,所以现在是 3,timesexecuted < 3不再为真,循环将不再运行。3也可以更改为任何数字,如果循环多次,这种方法可能是最好的。(例如,用 循环这个程序 200 次while timesexecuted < 200:

希望我有所帮助。

于 2015-12-17T21:51:28.997 回答
1

如果您使用的是 python 3,则可以将该print()函数与三个数字的列表一起使用。可选参数sep的默认值是空格,所以如果需要用空格分隔的三个数字,则不必定义它。

print(*[random.randint(0, 12) for _ in range(3)])
于 2015-12-31T08:39:00.523 回答
0

首先,您不能复制“randint”是否有原因?这是最有效的解决方案,但确实涉及一些输入:

number1 = random.randint(0,12)

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

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

number1 = RandNum()
number2 = RandNum()

这将使数字随机,但在整个程序中保持不变。祝你的节目好运!

PS return 命令停止函数并“返回”到主程序。例如,如果我有代码:

def function():
        return 3
        return 2
        return 1

主程序只会返回和使用 3 个。

于 2016-01-16T18:15:50.277 回答