3

我很难弄清楚我的老板给我的作为个人知识丰富的练习。不幸的是,我一直在网络上到处寻找答案,但没有成功,现在我求助于各位程序员。

他让我做的是从 100 到 0 的简单倒计时(可以一次显示全部)。到目前为止足够容易吧?只需制作一个简单的 for 循环或一段时间即可。这里的问题是他要求代码中没有分配,例如:$[var]=[value]

一个人怎么能在没有分配的情况下制作一个循环呢?既然$i--;是等价的,$i = $i - 1;我们怎么能倒数呢?

我对这个我无法解决的问题感到困惑,我真的很想找到答案,因为我很好奇如何做到这一点。

非常感谢您的帮助。

编辑

请注意,这个问题是一种 2 部分,其中第一部分是使其工作 100 到 0,而在第二部分 x 到 0 中,x 由用户输入

4

2 回答 2

4

我会给你一些提示,编写确切的代码对你来说是一个练习。

  1. 没有赋值,所以你必须有一些可以容纳多个值的类型。像整数这样的原始类型不能在这里直接使用,想想数组。

  2. 现在,您不能使用变量,因此不允许使用循环然后打印值。使用多种方法中的一种打印数组(或对数组进行操作的结果)。

  3. range()函数不接受负步长值,您需要反转数字。

于 2013-01-22T20:24:24.690 回答
3

我的猜测是你的老板正试图鼓励你使用递归而不是迭代。递归作为一种技术,对于某些问题非常有效,并且是作为程序员在你的军械库中拥有的极好工具。

在不放弃所有内容的情况下,尝试定义一个接受参数的函数——“倒计时”数字——然后以某种方式调用自身。一旦定义了它,您还需要通过调用它来单独启动它。

请记住,递归必须定义某种终止,否则事情可能会出错。这是一个让您入门的非常错误的示例::D

<?php
  function infinity() {
    print "Whoah.";
    infinity();
  }
  infinity();
于 2013-01-22T20:40:24.420 回答