我是power-shell的新手,正在练习一些程序。如果我可以用Powershell编写*程序,请告诉我。我知道它是一个脚本工具,用于系统管理。为了掌握基础知识,我正在尝试这个脚本。
下面是我写的代码:
cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le $i; $j++){
write-host "*"
}
write-host "`n"
}
所需输出:
*
**
***
*
我得到的输出如下:
有人能帮我这个忙吗。我们将非常感谢您的帮助。
已解决
($i = 1;$i -le 4 ;$i++) { ($j = 1;$j -le 4;$j++)的日志服务{写主机"*“-NoNewline }写主机"`n”}
发布于 2019-03-05 01:03:55
你发布的解决方案对我不起作用。皱眉它给出了4行4个星号,每行之间用一个空行隔开。
此版本使用foreach
循环,迭代所需的行数,绘制一条使用字符串乘法构建的行,插入一个空行,然后对行计数中的每一行重复此操作。
$LineCount = 8
$LineChar = '*'
foreach ($LC_Item in 1..$LineCount)
{
Write-Host ($LineChar * $LC_Item)
Write-Host
}
输出...
*
**
***
****
*****
******
*******
********
发布于 2019-03-05 02:41:03
这是这项任务的大量代码。PowerShell允许许多方法来完成相同或相似的任务。至于你的努力,这可以很容易地简化为一个线性。不需要写主机。
# Use the range operator, pipe to a ForEach with a string repeat '*' X times per the range number passed in.
1..8 | ForEach{('*')*$PSItem}
# Results
*
**
***
****
*****
******
*******
********
包含空行的更新。
嘿,李,是的,简明扼要,我错过了所需的空行。很容易就能修复...
# Use the range operator, pipe to a ForEach with a string repeat '*' X times per the range number passed in and a blank line for each pass
1..8 | ForEach{('*')*$PSItem + "`n"}
# Results
*
**
***
****
*****
******
*******
********
https://stackoverflow.com/questions/54987517
复制相似问题