3

正方形全体を中空にする方法を見つけようとしています。これまでに試したいくつかのことは、かなり歪んだ三角形が表示されるため、あまり成功していません!

これは、現在正方形を形成するために必要なコードです..

size = 5
for i in range(size):
    print ('*' * size)

実行すると、これが結果です..

*****
*****
*****
*****
*****

if条件を指定するには、 orwhileステートメント when sizeis greater than 3 を実行する必要がありますか?

4

10 に答える 10

8

これがあなたがやりたいことだと思います:

m, n = 10, 10
for i in range(m):
    for j in range(n):
        print('*' if i in [0, n-1] or j in [0, m-1] else ' ', end='')
    print()

出力:

**********
*        *
*        *
*        *
*        *
*        *
*        *
*        *
*        *
**********

次の方法で三角形を描くこともできます。

m, n = 10, 10
for i in range(m):
    for j in range(n):
        print('*' if i in [j, m-1] or j == 0 else ' ', end='')
    print()

出力:

*         
**        
* *       
*  *      
*   *     
*    *    
*     *   
*      *  
*       * 
**********
于 2013-04-19T15:48:56.453 に答える
3

'*'単一の 、続いてsize-2スペース、単一の を出力できます'*'。これにより、「中空」部分が得られます。最初と最後の行には全長が必要です。

size = 5
inner_size = size - 2
print ('*' * size)
for i in range(inner_size):
    print ('*' + ' ' * inner_size + '*')
print ('*' * size)
于 2013-04-19T15:45:15.020 に答える
0

次の簡単な方法で三角形を描くこともできます。

n = int(input("enter num")) for i for range (n+1):

if 2>=i :
    print (i * "*")
elif n == i:
    print ("*" * i)
else:
    print ("*"+" "*(i-2)+"*")
于 2018-04-18T10:54:46.947 に答える
0
size = int(input('Enter the size of square you want to print = '))
for i in range(size):           # This defines the rows
    for j in range(size):       # This defines the columns
        print('*' , end=' ')    # Printing * and " end=' ' " is giving space      after every * preventing from changing line
    print()                     # Giving a command to change row after every column in a row is done

print()                         # Leaving one line
for k in range(size):           # This defines the rows
    print('* ' *size)           # Defines how many times * should be multiplied
于 2016-12-23T11:50:45.453 に答える