我们可以用PowerShell编写明星程序吗?
Can we write star programs in PowerShell?
我是power新手-shell正在练习一些程序。如果我可以在 Powershell 中编写 * 程序,请告诉我。我知道它是一种脚本工具,用于系统管理。为了掌握基础知识,我正在尝试这个脚本。
这是我写的代码:
cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le $i; $j++){
write-host "*"
}
write-host "`n"
}
Desired Output :
*
*
*
*
*
*
*
*
*
*
我得到的输出为:
任何人都可以帮助我解决这个问题。非常感谢您的帮助。
SOLVED
cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le 4 ; $j++){
write-host "*" -NoNewline
}
write-host "`n"
}
您发布的解决方案对我不起作用。 [皱眉] 它给出了 4 行 4 个星号,每个星号与其他星号之间用一个空行隔开。
此版本使用 foreach
循环,遍历所需的行数,绘制一条使用字符串乘法构建的线,插入一个空行,然后对该行中的每一行进行重复数数。
$LineCount = 8
$LineChar = '*'
foreach ($LC_Item in 1..$LineCount)
{
Write-Host ($LineChar * $LC_Item)
Write-Host
}
输出...
*
**
***
****
*****
******
*******
********
这个任务的代码很多。 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
*
**
***
****
*****
******
*******
********
我是power新手-shell正在练习一些程序。如果我可以在 Powershell 中编写 * 程序,请告诉我。我知道它是一种脚本工具,用于系统管理。为了掌握基础知识,我正在尝试这个脚本。
这是我写的代码:
cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le $i; $j++){
write-host "*"
}
write-host "`n"
}
Desired Output :
*
* *
* * *
* * * *
我得到的输出为:
任何人都可以帮助我解决这个问题。非常感谢您的帮助。
SOLVED
cls for ($i = 1; $i -le 4 ;$i++) { for ($j = 1; $j -le 4 ; $j++){ write-host "*" -NoNewline } write-host "`n" }
您发布的解决方案对我不起作用。 [皱眉] 它给出了 4 行 4 个星号,每个星号与其他星号之间用一个空行隔开。
此版本使用 foreach
循环,遍历所需的行数,绘制一条使用字符串乘法构建的线,插入一个空行,然后对该行中的每一行进行重复数数。
$LineCount = 8
$LineChar = '*'
foreach ($LC_Item in 1..$LineCount)
{
Write-Host ($LineChar * $LC_Item)
Write-Host
}
输出...
*
**
***
****
*****
******
*******
********
这个任务的代码很多。 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
*
**
***
****
*****
******
*******
********