2016-10-24 11 views
0

以下の質問では、私が示したことはありましたが、そこからどこに行くのか本当に分かりません。私はちょうど終わりの値で作業を始め、おそらくこの小さなコードをもっと破壊するつもりです。追加表:Python3 +

https://i.stack.imgur.com/QIuJt.png


# Inputs 
range_start = int(input("Enter start value:")) 
range_end = int(input("Enter end value:")) 

# Calculations 
for loop in range(range_start, range_end + 1): 
answer = range_start + loop 
print("{}|".format(loop), "{}".format(answer)) 
+1

ここではコードを画像ではなくコピーしてください。 –

+0

申し訳ありませんが、私の悪い – IncognitoBatman

+0

より多くのフィードバックを受け取るために、人々にあなたを助けるためにできるだけ簡単にすることがあなたの最大の利益になるでしょう。ここであなたの質問は何ですか? –

答えて

0

ここに私が思い付いたコードです。スクリプトの主な部分は、str.formatを使用して、テーブルの番号を使って簡単に書式設定できるようにすることです。 print_overallは、出力文字列をoutputから取得します。列のリストおよび破線を印刷した後、print_overallが行ごとに印刷されます。詳細については、「6.1.3。書式文字列構文」をチェックすることをお勧めします。約str.format

def output(values = None, row_num = None): 
    res = "" 
    if not row_num: 
     res += " " * 2 
    else: 
     res += row_num + "|"  
    for i in values: 
     res += "{:5}".format(i) #{:5} allows for filler space when string length < 5 
    return res 

def print_overall(rnge): 
    print(output(rnge)) 
    print(output(["-"*5]*len(rnge))) 
    for row_num in rnge: 
       #for every row number, make an list that maps values 
       #where all the column numbers are added to the current row number 
     lst = list(map(lambda col_num: row_num + col_num, rnge)) 
     print(output(lst, row_num = str(row_num))) 


range_start = int(input("Enter start value:")) 
range_end = int(input("Enter end value:")) 

input_range = range(range_start, range_end+1) #+1 because range is exclusive at endpoint 
print_overall(input_range) 
0

次の2つのループを必要としています。私は2次元行列(リストのリスト)を作るつもりです。ここで、matrix[0][0]0+0です。

mat = [] 
for i in range(0, end+1): 
    mat.append([]) 
    for j in range(0, end+1): 
     mat[i].append(i+j) 

これは決してあなたの割り当てが求めている出力ではありません。私はあなた自身で最後の小さなビットに行くことをお勧めします。

0

たぶんもう少しコンパクト:

matrix = [[i+j for i in range(start, end+1)] for j in range(start, end+1)] 
関連する問題