0

はい、これは宿題です。でも、コードを教えてくれるなら、何をしたか詳しく教えてください。私はこれに非常に慣れていません。

したがって、タスクは、ユーザーが入力した幅に応じて ASCII ダイヤモンドを印刷することです。ダイアモンドの前半はできますが、下半分はできません。何らかの理由で、どうすればよいかわかりません。

これが私のコードです:

wid = int(input("Width: "))
i = 1

while i <= wid:
  print(" " * (wid - i) + "* " * i)
  i = i + 1

wid = 5 の場合、次のように出力されます。

Width: 5
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
4

7 に答える 7

1
 i=1
 j=input("ENTER NO =")
 l=0
 for i in range(i,j-((j/2)-1),1):
     print (' ' * ((j+1)/2-i)+'*' *(i*2-1))
     l=(j/2+1)
     while  (i==l):
        i=1
        for i in range(i,j,1):
            print (' ' *((i*2)-i)+'*' *(j-i*2))
        if [i==j-1]:
            l=raw_input('<press enter to exit>')       
于 2014-02-11T05:46:59.253 に答える
0

それをチェックしてください(python 2.7xの場合)


塗りつぶされた ASCII ダイアモンド :

width = 1
width += int(raw_input('Width : '))
for i in range (1,width):
    for j in range (width,i,-1):
        print " ",
    for j in range (1,i,1):
        print " * ",
    print

for i in range (width,1,-1):
    for j in range (width,i,-1):
        print " ",
    for j in range (1,i,1):
        print " * ",
    print

これは機能します!! ただし、どのブラウザ ウィンドウにもありません。. .

于 2016-12-09T11:10:18.760 に答える
0

しばらくしてから

i=i-2
while i>0:
  print(" "*(wid-i)+"* "*i)
  i=i-1;
于 2013-08-13T07:34:08.020 に答える