2016-03-24 16 views
-1

私はPythonで特定のパターンを作成しようとしましたが、同じ出力を得ることはできません。これは私が書いたコードはPythonの数値を使って特定のパターンを生成するには

from __future__ import print_function 
for i in range(1, 11, 1): 
    print() 
    for j in range(1 , i): 
     print(j ,end ="") 

ある

1 
1 3 
1 3 5 
1 3 5 7 
1 3 5 7 9 

をしたい出力である私が取得しています出力パターンがある:私は権利を取得することができますどのような変更

1 
12 
123 
1234 
12345 
123456 
1234567 
12345678 
123456789 

出力?

答えて

0

を試すことができます。 printへのキーワード引数は、... endで印刷する内容を制御します。デフォルトの改行はそのままです。デフォルトのsep=' 'も必要なので、各繰り返しで印刷するために収集した整数をアンパックするだけで済みます。

from __future__ import print_function 

xs = [] 
for i in xrange(1, 11, 2): 
    xs.append(i) 
    print(*xs) 

私は確かにこれについて行くためのより良い方法がありますが、これは望ましい出力を持っています。

1

最後のパラメータを使用して範囲をステップオーバーできます。

あなたはあなたがちょうど2のステップがあり、各ステップで、これまでの番号を印刷する必要がありそうですfor i in range(1, 11, 2):

0

あなたは以下を使用して所望の出力を得ることができ、この

from __future__ import print_function 
for i in range(2, 11, 2): 
    print() 
    for j in range(1 , i, 2): 
     print(j ,end =" ") 
0

をお試しください:

number_list = [] 
# N is the number up to, but not including, which you want to print 
for number in range(1, N, 2): 
    number_list.append(number) 
    print number_list 

あなたは、フォーマットを気にする場合は、次の操作を行うことができます

number_list = [] 
# N is the number up to, but not including, which you want to print 
for number in range(1, N, 2): 
    number_list.append(number) 
    for element in number_list: 
     print element, 
    print 
0

奇数を取得するにはrange(1,n,2)を使用し、listに数字を追加してからビルドします'{} ' * lenのような書式文字列で、lenの長さはlistです。

def print_odds(n): 
    odds = [] 
    for o in range(1,n,2): 
     odds.append(o) 
     odd_string = '{} ' * len(odds) 
     print(odd_string.rstrip().format(*odds)) 
関連する問題