2012-04-11 14 views
0

ユーザー入力からPythonを使用して三角形の数字を作成しようとしています。私はコードを書いたが、Pythonでどうやって一つのことをするか分からない。私はそれに応じてそれぞれの行にプリント( "次の行")を変更したいと思います。それ、どうやったら出来るの?ユーザー入力から数字の三角形を作成する

コード:

numstr= raw_input("please enter the height:") 
rows = int() 
def triangle(rows): 
    for rownum in range (rows) 
     PrintingList = list() 
     print("Next row") 
     for iteration in range (rownum): 
      newValue = raw_input("Please enter the next number:") 
      PrintingList.append(int(newValue)) 
      print() 

私のコードで間違いはありますか?または改善のための提案はありますか?

numstr= raw_input("please enter the height:") 
rows = int(numstr) 
def triangle(rows): 
    for rownum in range (rows): 
     PrintingList = list() 
     print "row #%d" % rownum 
     for iteration in range (rownum): 
      newValue = raw_input("Please enter the number for row #%d:" % rownum) 
      PrintingList.append(int(newValue)) 
      print() 

あなたが整数を印刷することができprint "%d" % myintを使用することにより:ありがとう...

+1

あなたが持っているものの出力を表示し、何が間違っているかを説明します。望ましい出力の例が望ましいです。 – Marcin

+0

あなたのコードにはいくつかの構文上の問題があります – luke14free

+0

@ luke14freeは、それらが何であるかを説明することができます...それは本当に便利です... – lakesh

答えて

1

私はあなたのプログラムのために必要な動作であるかを正確にわからないが、ここでは私の推測です:

numstr= raw_input("please enter the height:") 

rows = int(numstr) # --> convert user input to an integer 
def triangle(rows): 
    PrintingList = list() 
    for rownum in range (1, rows + 1): # use colon after control structure to denote the beginning of block of code   
     PrintingList.append([]) # append a row 
     for iteration in range (rownum): 
      newValue = raw_input("Please enter the next number:") 
      PrintingList[rownum - 1].append(int(newValue)) 
      print() 

    for item in PrintingList: 
     print item 
triangle(rows) 

そして、ここでは、出力されます。

please enter the height:3 
Please enter the next number:1 
() 
Please enter the next number:2 
() 
Please enter the next number:3 
() 
Please enter the next number:4 
() 
Please enter the next number:5 
() 
Please enter the next number:4 
() 
[1] 
[2, 3] 
[4, 5, 4] 
1

あなたはこの1つにあなたのコードを変更することができます。..を教えてください。

+0

これはpython3では動作しません。 'print'を関数として)。 – Marcin

1

ご質問がありましたら、print("Next row")print("Row no. %i" % rownum)に変更してください。

%形式コードがどのように機能するかを説明する文字列のドキュメントを参照してください。

0
n = int(input()) 

for i in range(n): 
    out='' 
    for j in range(i+1): 
     out+=str(n) 
    print(out) 

これを印刷します以下:

>2 

2 
22 

>5 

5 
55 
555 
5555 
55555 

これはあなたが探していたものですか?

関連する問題