我正在使用以下循环代码来打印星型图案,并且代码运行正常。这是我的代码
for i in range(1,6):
for j in range(i):
print("*", end=" ")
print()
此代码的输出显示为
*
* *
* * *
* * * *
* * * * *
现在我的问题是如何打印输出
*
* *
* * *
* * * *
* * * * *
答案 0 :(得分:1)
这可以在一个循环和中央填充中实现。
n = int(input('Enter the row you want to print:- '))
sym = input('Enter the symbol you want to print:- ')
for i in range(n):
print((sym * ((2 * i) + 1)).center((2 * n) - 1, ' '))
答案 1 :(得分:1)
# right angle triangle
for i in range(1, 10):
print("* " * i)
# equilateral triangle
# using reverse of range
for i , j in zip(range(1, 10), reversed(range(1, 10)):
print(" " * j + "* " * i)
# using only range()
for i, j in zip(range(1, 10), range(10, -1, -1):
print(" " * j + "* " * i)
答案 2 :(得分:0)
您只需要在前面添加空格循环即可:
for i in range(1,6):
for j in range(6-i):
print(" ", end="")
for j in range(i):
print("*", end=" ")
print()
答案 3 :(得分:0)
实际上,这可以在一个循环中完成:
for i in range(1, 6):
print (' ' * (5 - i), '* ' * i)
输出:
*
* *
* * *
* * * *
* * * * *
将字符串与整数相乘是最有效的方法。
答案 4 :(得分:0)
这是另一种方式
size = 7
m = (2 * size) - 2
for i in range(0, size):
for j in range(0, m):
print(end=" ")
m = m - 1 # decrementing m after each loop
for j in range(0, i + 1):
# printing full Triangle pyramid using stars
print("* ", end=' ')
print(" ")
答案 5 :(得分:0)
尝试一下:-
打印星形图案的说明:-
1)第一行用于功能演示打印图案三角形
2)第二行表示空格数
3)外循环的第三行用于处理行数。
4)在循环内循环中处理数字空间和根据要求更改的值。
5)循环后,每个循环递减k值。
6)将k值内循环递减以处理列数并根据外循环改变值。
7)在j循环后打印'*'。
8)每行后面的结尾行
def triangle(n):
k = 2*n - 2
for i in range(0, n):
for j in range(0, k):
print(end=" ")
k = k - 1
for j in range(0, i+1):
print("* ", end="")
print("\r")
n = 5
triangle(n)
答案 6 :(得分:0)
function printPyramid($n)
{
//example 1
for ($x = 1; $x <= $n; $x++) {
for ($y = 1; $y <= $x; $y++) {
echo 'x';
}
echo "\n";
}
// example 2
for ($x = 1; $x <= $n; $x++) {
for ($y = $n; $y >= $x; $y--) {
echo 'x';
}
echo "\n";
}
// example 3
for($x = 0; $x < $n; $x++) {
for($y = 0; $y < $n - $x; $y++) {
echo ' ';
}
for($z = 0; $z < $x * 2 +1; $z++) {
echo 'x';
}
echo "\n";
}
}
答案 7 :(得分:0)
def triangle(val: str, n: int, type: str):
for i in range(n):
if type == "regular":
print((i + 1) * val)
elif type == "reversed":
print((n - i) * val)
elif type == "inverted":
print((n - (i + 1)) * " " + (i + 1) * val)
elif type == "inverted reversed":
print(i * " " + (val * (n - i)))
elif type == "triangle":
print((n - (i + 1)) * " " + ((2*i)+1) * val)
调用此函数
triangle("*", 5, 'triangle')
输出
*
***
*****
*******
*********
答案 8 :(得分:0)
。非常简单的答案..不要输入复杂的代码。
首先尝试绘制金字塔。通过* ..然后您容易理解代码。.我的解决方案是..最简单..这里是5行金字塔的示例。
number_space = 5
for i in range (5)
print('/r')
print (number_space *" ", end='')
number_space=number_space-1
for star in range (i+1):
print("*",end=" ")
答案 9 :(得分:0)
#CPP程序,用于在一行中使用一个循环来打印动态金字塔图案。
https://www.linkedin.com/posts/akashdarji8320_cpp-cplusplus-c-activity-6683972516999950336-ttlP
#include
using namespace std;
int main() {
int rows;
cout<<"Enter number of rows :: ";
cin>>rows;
for( int i = 1, j = rows, k = rows; i <= rows*rows; i++ )
if( i >= j && cout<<"*" && i % k == 0 && (j += rows-1) && cout<<endl || cout<<" " );
}
答案 10 :(得分:0)
使用字符串乘法, 简单地将一个字符串相乘,这是最直接的方法:
数量 = 5 对于范围内的 e(num, 0, -1): print(" "(e-1)+(""(num-e+1))+(""*(num-e)))
答案 11 :(得分:0)
回答晚了。但正如其他人提到的,这可以在如下所示的单个循环中完成
j=1
for i in range(10,0,-1):
print(" "*i,"*"*j)
j+=2
答案 12 :(得分:0)
方法一:理解版
这可能是在 Python
中打印任何图案的最简单方法
n = 5
print('\n'.join([('* '*i).center(2*n) for i in range(1,n+1)]))
使用center
的{{1}}方法,给它一个宽度作为参数,它会相应地将整个字符串居中。
方法二:普通版
str
答案 13 :(得分:0)
这是打印此图案的最简单方法:
n = int(input("Enter the number of rows: "))
for i in range(1,n+1):
print(" "*(n-i) + "* "*i)
您必须打印空格 (n-i) 次,其中 n 是行数,i 是循环变量,并添加星号 i 次。这将为您提供所需的模式。请参阅上述代码以获得更好的理解。