1

教授给了我们一个执行正方形的简单代码,我们需要添加/更改代码以输出直角三角形,如下所示。这只是循环代码中的一个简单循环,但如果代码看起来非常混乱/困难,我无法在任何地方找到使用 Python 创建形状的提示或帮助。我需要一个简单的解释来做什么以及为什么我需要做出这些改变。

(在 Python 中创建直角三角形的嵌套循环代码)

给出执行正方形的代码:

画正方形

size = input('Please enter the size: ')
chr  = raw_input('Please enter the drawing character: ')

row = 1
while row <= size:
    # Output a single row
    col = 1
    while col <= size:
        # Output a single character, the comma suppresses the newline output
        print chr, 
        col = col + 1

    # Output a newline to end the row
    print '' 

    row = row + 1
print ''

我需要输出的形状......

x 
x x 
x x x 
x x x x 
x x x x x 
x x x x x x 
x x x x x x x

再次,只是一个简单的代码解释,它是 Python 课程的介绍。

4

8 回答 8

2

只需更改while col <= size:while col <= row:

这将打印rowX.

如果row1输出是:X

如果row2输出是:XX

如果row3输出是:XXX

如果row4输出是:XXXX

于 2013-11-05T08:45:51.753 回答
1

这是一些代码:

size = int(raw_input("Enter the size: ")) #Instead of input, 
#convert it to integer!
char = raw_input("Enter the character to draw: ")
for i in range(1, size+1):
    print char*i #on the first iteration, prints 1 'x'
    #on the second iteration, prints 2 'x', and so on

结果:

>>> char = raw_input("Enter the character to draw: ")
Enter the character to draw: x
>>> size = int(raw_input("Enter the size: "))
Enter the size: 10
>>> for i in range(1, size+1):
        print char*i


x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
xxxxxxxxxx

另外,避免input在 Python 2 中使用,因为它评估作为code传递的字符串,这是不安全的,也是不好的做法。

希望这可以帮助!

于 2013-11-05T09:05:13.110 回答
0

代码:

def triangle(i, t=0):
    if i == 0:
        return 0
    else:
        print ' ' * ( t + 1 ) + '*' * ( i * 2 - 1 )
        return triangle( i - 1, t + 1 )
triangle(5)

输出:

* * * * * * * * *
   * * * * * * *
     * * * * *
       * * * 
         *
于 2016-09-07T15:29:14.650 回答
0
values = [0,1,2,3]
for j in values:
 for k in range (j):
  print "*",;
 print "*";
  1. 定义数组
  2. 首先开始 for 循环,以逐个初始化变量 j 中的数组值
  3. 开始第二个(嵌套)for循环以初始化变量k中变量j的ranje
  4. 结束第二个(嵌套)for循环打印*作为分配给k的j的par初始化范围,即如果范围为1,则打印一个*
  5. 首先结束 for 循环并打印 * 以表示没有初始化的数组
于 2016-12-29T10:38:33.143 回答
0
for i in range(1,8):
    stars=""
    for star in range(1,i+1):
        stars+= " x"
    print(stars)

输出:

x
x x
x x x
x x x x
x x x x x
x x x x x x
x x x x x x x
于 2020-12-15T12:54:50.600 回答
-1
for x in range(10,0,-1):
  print x*"*"

输出:

**********
*********
********
*******
******
*****
****
***
**
*
于 2016-08-24T08:52:58.027 回答
-1
 def pattStar():
     print 'Enter no. of rows of pattern'
     noOfRows=input()
     for i in range(1,noOfRows+1):
             for j in range(i):
                     print'*',
             print''
于 2015-10-25T14:26:04.413 回答
-2

你可以通过简单地使用它来获得它:

size = input('Please enter the size: ')
chr  = raw_input('Please enter the drawing character: ')
i=0
str =''
while i< size:
        str = str +' '+ chr
        print str
        i=i+1
于 2013-11-05T09:14:24.950 回答