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:

これrowにより、 の数が出力されXます。

row出力が次の場合1: X

row出力が次の場合2: XX

row出力が次の場合3: XXX

row出力が次の場合4: 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 での使用は避けてください。これは安全ではなく、悪い習慣です。

お役に立てれば!

于 2013-11-05T09:05:13.110 に答える
0
values = [0,1,2,3]
for j in values:
 for k in range (j):
  print "*",;
 print "*";
  1. 配列を定義する
  2. 最初に for ループを開始し、変数 j の配列の値を 1 つずつ初期化します
  3. 2 番目の (ネストされた) for ループを開始して、変数 k の変数 j の ranje を初期化します
  4. 2 番目の終了 (ネストされた) for loop to print * k に割り当てられた j の初期化された範囲として * つまり、範囲が 1 の場合は 1 つを出力 *
  5. ループの場合は最初に終了し、初期化された配列のない場合は * を出力します
于 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
 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 に答える
-1
for x in range(10,0,-1):
  print x*"*"

出力:

**********
*********
********
*******
******
*****
****
***
**
*
于 2016-08-24T08:52:58.027 に答える
-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 に答える