- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我很难弄清楚下面的代码是如何工作的:
import random
for i in range(0, 100):
if not i % 15:
random.seed(1178741599)
print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
我知道当 i
被 15
整除时,random
将使用相同的 seed
因此 randint(0, 3)
将始终返回相同的索引,但是当我尝试
for i in range(100):
random.seed(1178741599)
print random.randint(0,3) #always print 0
上面的代码总是打印0
,不应该是(这是正确的行为,对应于 3
吗(因为“FizzBuzz”
在list [i+1, "Fizz", "Buzz", "FizzBuzz"]
?i+1
在列表中。)
当 i
可以被 3
或 5
整除时呢?
种子1178741599
有什么神奇之处?
编辑:正如 jonrsharpe 所指出的,fizzbuzz 代码仅适用于 python 2.x
最佳答案
random.seed(n)
表示“将随机数生成器重置到某个已知位置 n
”。这意味着可以提前知道生成器的 future 输出。它对于一遍又一遍地使用相同的“随机”数据进行测试很有用。
此代码的作用是每 15 步重置一次生成器,因此您每次都会得到相同的 15 个“随机”整数序列(因此,也是列表中的字符串)。在 Python 2.x 中,重置后的第一个“随机”整数始终是 0
(当我刚才在 Python 3 中尝试时,在 random.seed(1178741599)
之后我得到 random.randint(0, 3) == 1
).
请注意,此代码不执行传统 FizzBuzz 程序执行的操作,并且在很大程度上取决于随机
实现。它在 2.7.3 中对我有用,但在 3.3.2 中不起作用(参见 Why is seeding the random
number generator not stable between versions of Python?)。
关于python - Python 中的 fizzbuzz 使用随机,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20957693/
所以我对编码很陌生,我正在尝试所有不同的“fizzbuzzs”,并且我遇到了一种使用字典的方法。 当我运行它时,我可以轻松地通过 1 个按键更改来更改任何参数,这很好,但我不明白为什么它首先打印 fi
警告:我并不是要求更好的代码,我只是要求为 HackerRank 提供更短的代码,只是为了了解如何缩短它。 我是 Java 新手,正在尝试这个 FizzBuzz 问题: Write a progr
我已经搜索了大约一个小时的答案,似乎大多数人对 fizzbuzz 的编码方式都与我不同。 但是,在尝试了一切方法来找出为什么这个简单的代码不起作用后,我感到非常沮丧。 任何人都可以指出我确定遇到的简单
我正在尝试做一些简单的测试来帮助进一步了解我的 javascript 知识(这很新鲜)。目标 1 是打印 1-100 之间不能被 5 或 3 整除的数字。 我尝试了以下方法: for (var i =
原问题是:从 1 到 1000 的所有 3 和 5 的倍数之和是多少?我写了这段代码来解决这个问题。 var array =[]; //Setting up the Array for (i=0 ;
我需要一些帮助。我的 fizz-buzz 代码是正确的,但当我的页面加载时,它没有显示。有人可以帮助我缺少什么吗? 这是我的 html: FizzBuzz Challenge FizzBu
新来的,希望我能尽我所能提供帮助。基本上,我的任务是用 Python 编写一个 fizzbuzz 程序,到目前为止,除了我收到的一些反馈外,一切都很好。 现在我必须确保我的程序的输出水平显示,而不是垂
我已经能够解决 fizzbuzz 问题。我有一个关于替代方法的问题。 在我到达数字 10 之前,一切都很好。在控制台中,数字 10 应该打印“buzz”,但它打印的却是数字 10。之后它继续正常工作。
我目前正在学习关于 Javascript 的代码学院类(class),并且我被困在 FizzBuzz 任务上。我需要从 1 到 20 数,如果这个数字可以被 3 print fizz 整除,被 5
我正在做一个简单的 fizzBuzz 函数。目标是让 fizz for 3 buzz for 5 和 fizzBuzz for 15。增加的技巧是让每一个都在自己的行上。 function f
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
使用 SQL 编写一个程序,打印 1 到 100 之间的数字。 但是对于三的倍数打印“Fizz”而不是数字,对于五的倍数打印“Buzz”。对于三和五的倍数的数字打印“FizzBuzz” DECLA
我正在尝试使用列表理解在 haskell 中编写“fizzbuzz”。 为什么以下不起作用,应该如何? [ if x `mod` 5 == 0 then "BUZZFIZZ" if x `mod`
嘿,我看过一个 C++ 演讲,其中有人制作了 lambda fizzbuzz 实现。 这不是!甚至不接近它!我的问题是,为什么我不能使用 ostream& auto fizz = [](int& x,
我目前正在学习 F# 并尝试了(一个非常)简单的 FizzBuzz 示例。 这是我的初步尝试: for x in 1..100 do if x % 3 = 0 && x % 5 = 0 t
我正在尝试执行一个函数,在我的 console.log 中打印 1-27 之间的数字。 当一个数字可以被3整除时,应该用“Fizz”替换该数字 当一个数字可以被 5 整除时,将其替换为“Buzz”。
好吧,这确实不是一个杂乱的问题,而是一个 C 问题。 我用 C 语言编写了一些简单的代码,用于根据需要打印出 fizzbuzz。 #include int main(void) { int
我目前正在尝试使用形状创建 fizzbuzz,但无法正确显示可被 3 和 5 整除的平方。我已经寻找答案,但似乎没有人尝试过这一点。 编写一个程序,在屏幕上绘制 25 个水平方向的黑色圆圈。请使用从零
显而易见的解决方案是这样的: if (x % 15 == 0) println("fizzbuzz"); else if (x % 3 == 0) println ("fizz"); else if
嘿,我最近接到了 fizzbuzz 任务,我用平常的方式回答了, if ((i%3==0) || (i.to_s.include?('3'))) && ((i%7==0) || (i.to_s.inc
我是一名优秀的程序员,十分优秀!