我必须编写一个读取正方形大小(1到20之间)并输出XHTML文本的脚本,该文本显示由星号构成的该大小的空心方块。我理解并知道如何提示用户的大小:
<script type = "text/javascript">
var size;
//prompt user for size of square
size = window.prompt("Enter size of square between 1 and 20: ");
// convert size from a string to an integer
sizeValue = parseInt(size);
</script>
但我不确定在那之后该怎么做。我很感激你的帮助,谢谢。
答案 0 :(得分:4)
之后您将采取以下措施。
手动构建一个XHTML文档 ,它为您提供输入11所需的确切输出,输入为7的输出。
然后计算两个文件之间的差异(空格数,星号数等)。
然后,您的任务是构造代码,为任意输入输出正确的XHTML输出。
除了为你编写代码(不是我考虑的家庭作业选项),我可以提供更多的东西。
对于它的价值,这里有一些伪代码(实际上是Python,因为它只是将好作为伪代码),这将是一个很好的基线:
def square (n):
if n < 1:
return
full = ""
for i in range(n):
full += "*"
empty = "*"
for i in range(n-2):
empty += " "
empty += "*"
print full
if n > 1:
for i in range(n-2):
print empty
print full
print
square (1)
square (2)
square (3)
square (7)
square (12)
输出如下:
*
**
**
***
* *
***
*******
* *
* *
* *
* *
* *
*******
************
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
************
我认为根据您之前创建的手动文档修改输出额外文本以将其转换为有效的XHTML文档并不会太难。
而且,如果您正在寻找如何操纵实际的网页本身,这个非常简单的Javascript显示一种方式来实现它。我故意将所有内容都硬编码,以便你必须思考你正在做什么,但转换并将上面的伪代码合并到这里不应该是一个巨大的延伸。并做出所需的其他改变。
<script type = "text/javascript">
var full, empty, i, newdoc;
newdoc = "Processing 5 (hardcoded)<hr><pre>";
full = "*****<br>";
for (i = 0; i < 5; i++)
newdoc = newdoc + full;
newdoc = newdoc + "</pre>";
document.write (newdoc);
</script>
输出:
Processing 5 (hardcoded)
------------------------
*****
*****
*****
*****
*****