我需要使用嵌套for循环和print('*', end=' ')
来创建显示here的模式:
这是我的代码。我已经弄明白了前两个。
n = 0
print ("Pattern A")
for x in range (0,11):
n = n + 1
for a in range (0, n-1):
print ('*', end = '')
print()
print ('')
print ("Pattern B")
for b in range (0,11):
n = n - 1
for d in range (0, n+1):
print ('*', end = '')
print()
print ('')
当我开始模式C和D时,我尝试以下方法:
print ("Pattern C")
for e in range (11,0,-1):
n = n + 1
for f in range (0, n+1):
print ('*', end = '')
print()
print ('')
print ("Pattern D")
for g in range (11,0,-1):
n = n - 1
for h in range (0, n-1):
print ('*', end = '')
print()
但结果与A和B相同。帮助表示赞赏!
答案 0 :(得分:2)
模式C和D都需要前导空格,而您不打印任何空格,只有星星。
以下是打印所需前导空格的替代代码:
print ("Pattern C")
for e in range (11,0,-1):
print((11-e) * ' ' + e * '*')
print ('')
print ("Pattern D")
for g in range (11,0,-1):
print(g * ' ' + (11-g) * '*')
这是输出:
Pattern C
***********
**********
*********
********
*******
******
*****
****
***
**
*
Pattern D
*
**
***
****
*****
******
*******
********
*********
**********
更详细地说,请考虑以下这一行:
print((11-e) * ' ' + e * '*')
打印(11-e)
个空格后跟e
个星号。这提供了制作图案所需的前导空间。
如果您的老师想要嵌套循环,那么您可能需要将print((11-e) * ' ' + e * '*')
转换为循环打印每个空格,一次一个,然后是每个星标,一次一个。
如果你按照我给出的关于嵌套循环的提示,你会得到一个模式C的解决方案,如下所示:
print ("Pattern C")
for e in range (11,0,-1):
#print((11-e) * ' ' + e * '*')
for d in range (11-e):
print (' ', end = '')
for d in range (e):
print ('*', end = '')
print()
答案 1 :(得分:2)
for i in range(1,n+1): print '{:>{}}'.format('#'*i, n)
this is For pattern D
for i in range(1,n-1): print '{:>{}}'.format('#'*i, n)
this is For pattern c
答案 2 :(得分:1)
Pythonic这样做的方式。每个模式只需要一行代码(使用列表解析)。
n = 10
# for A
print('\n'.join(['*'*i for i in range(1,n+1)]))
#output
*
**
***
****
*****
******
*******
********
*********
**********
# for B
print('\n'.join(['*'*i for i in range(n+1,0,-1)]))
#output
***********
**********
*********
********
*******
******
*****
****
***
**
*
# for C
print('\n'.join([' '*(n-i) + '*'*i for i in range(n,0,-1)]))
#output
**********
*********
********
*******
******
*****
****
***
**
*
# for D
print('\n'.join([' '*(n-i) + '*'*i for i in range(1,n+1)]))
#output
*
**
***
****
*****
******
*******
********
*********
**********
答案 3 :(得分:1)
print("Pattern C")
n=int(input("Enter number of rows: "))
for i in range (n,0,-1):
print((n-i) * ' ' + i * '*')
答案 4 :(得分:0)
学习一种简单的方法:
的代码1:强>
for n in range(0,5):
n +=1
print ("*" *(0+n))
它的作用:
<强>输出:强>
*
**
***
****
*****
<强>码2:强>
for n in range(-5,0):
n +=1
print ("*" *(0-n+1))
<强>输出:强>
****
***
**
*
答案 5 :(得分:0)
i=0
while(i<5):
j=0
while(j<=i):
print("*",end="") #end="" is given to stay on same line
j=j+1
print("") #it will take u to new line
i=i+1
j=0
i=i-2
j=i
while(i>=0):
while(j>=0):
print("*",end="")
j=j-1
print() #will also work
i=i-1
j=i
这也可行
答案 6 :(得分:0)
for i in range (1,n): # loop will execute from 1 to 4(n-1)
for j in range(1,i+1):
print("*",end="")
print()
for i in range (n+1,1,-1):
for j in range(i,1,-1):
print("*",end="")
print()
答案 7 :(得分:0)
def fun (n):
return n
n=int(raw_input("Enter the number"))
print "The given number is",n
for i in range (n,0,-1):
print "*"*i
输出:
The given number is 3
***
**
*
答案 8 :(得分:0)
使用空格可以创建不同的不同模式: 1。
def pattern(limit):
for i in range(limit+1):
print((limit-i)*" "+ ' #'*i)
pattern(4)
Output:
#
# #
# # #
# # # #
2。从上面的代码中删除一个空格,并将在金字塔中更改模式
def pattern(limit):
for i in range(limit+1):
print((limit-i)*" "+ ' #'*i)
pattern(4)
output: #
# #
# # #
# # # #
3:不会创建空格print((limit-i)*“” +'#'* i)
#
# #
# # #
# # # #
答案 9 :(得分:0)
for i in range(0,5):
for j in range(0,i+1):
print("*",end="")
print()
for k in range(5,0,-1):
for l in range(k-1,0,-1):
print("*",end="")
print()
答案 10 :(得分:0)
功能:
def arrow(my_char, max_length):
for i in range(max_length*2):
if i <= max_length:
print(my_char*i)
if i > max_length:
print(my_char*(max_length*2-i))
main():
def main():
print(arrow('*', 8))
if __name__ == "__main__":
main()
输出:
*
**
***
****
*****
******
*******
********
*******
******
*****
****
***
**
*
答案 11 :(得分:0)
模式1
for x in range(1,11):
print("*"*x)
输出
*
**
***
****
*****
******
*******
********
*********
**********
模式2
for x in range(10,0,-1):
print("*"*x)
输出
**********
*********
********
*******
******
*****
****
***
**
*
模式3
i=0
for x in range(10,0,-1):
print(" "*i,end="")
print("*"*x)
i+=1
输出
**********
*********
********
*******
******
*****
****
***
**
*
模式4
i=10
for x in range(1,11):
print(" "*i,end="")
print("*"*x)
i-=1
输出
*
**
***
****
*****
******
*******
********
*********
**********
答案 12 :(得分:0)
试试这个!
a)
*
**
***
****
*****
public class Main {
public static void main(String[] args) {
int n=5;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
b)
*****
****
***
**
*
public class Main {
public static void main(String[] args) {
int n=5;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=(i-1);j++)
{
System.out.print(" ");
}
for(int j=i;j<=n;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
c)
*
**
***
****
*****
public class Main
{
public static void main(String[] args)
{ int n=5;
for(int i=n;i>0;i--)
{
for(int j=1;j<=(i-1);j++)
{
System.out.print(" ");
}
for(int j=i;j<=n;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
d)
*****
****
***
**
*
public class Main
{
public static void main(String[] args) {
int n=5;
for(int i=n;i>0;i--)
{
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
答案 13 :(得分:0)
var n = 5;
for(int row = 0 ; row < n; row++)
{
for(int col = 1; col <= n; col++)
{
if(col < n - row)
{
Console.Write(" ");
}
else
{
Console.Write("*");
}
}
Console.WriteLine();
}
(D)
答案 14 :(得分:0)
对于范围在(1,7)中的i: print(“” (7-i)+“ ” *(i))
输出:
*
**
***