【发布时间】:2019-02-19 23:53:16
【问题描述】:
我是 php 新手,正在尝试编写一个循环,该循环将翻转一枚硬币,直到恰好两个正面都被翻转然后停止。
到目前为止,我已经编写了一个抛硬币的函数:
function cointoss () {
$cointoss = mt_rand(0,1);
$headsimg = '<img src=""/>';
$tailsimg = '<img src=""/>';
if ($cointoss == 1){
print $headsimg;
} else {
print $tailsimg;
}
return $cointoss;
}
...但我坚持写循环。我尝试了几种方法:
#this code takes forever to load
$twoheads = 0;
for ($twoheads = 1 ; $twoheads <= 20; $twoheads++) {
$cointoss = mt_rand(0,1);
cointoss ();
if ($cointoss == 1) {
do {
cointoss ();
} while ($cointoss == 1);
}
}
#one coin flips
do {
cointoss ();
} while ($cointoss == 1);
这是一个类的,我们还没有学习数组,所以我需要在没有它们的情况下完成这个。
我了解条件为真时循环执行代码的概念,但不明白当条件不再为真时如何编写。
【问题讨论】:
-
连续 2 个头?还是一共2个?
-
继续翻转直到连续两个头,然后停止
标签: php function loops coin-flipping