私はこのコードが過度であるように感じます - どのように短くすることができますか?私は初心者ですので、私に同行してください。このコードをより効率的に書くにはどうすればよいですか?
The problem statement is this (from Automate the Boring stuff)
そして、私のコード:一般的に
#printtable() function - will take string list and display in rjustified table
tabledata = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def printtable():
colwidths = [0] * len(tabledata)
strlen = 0
#find parameter for rjust
for i in range(len(tabledata)):
for k in range(len(tabledata[i])):
wordlength = (len(tabledata[i][k]))
if wordlength > strlen:
colwidths[i] = wordlength
strlen = wordlength
maxword = max(colwidths)
#print as table : 'invert'
x=0
while x<int(len(tabledata[0])):
for i in range(len(tabledata)):
print(tabledata[i][x].rjust(maxword, ' '), end=''),
x+=1
print('\n')
printtable()
、どのように私はより効率的にコーディングすることを学ぶために始めることができますか?私は先にフローチャートを書くことができると思っていました。通常、私はただ書くだけで、その場で物事を変え始めるからです。私のコードはすべて醜いと思うので、どんなヒントもありがとうございます。ありがとう!
これはにあるはずです:http://codereview.stackexchange.com/ –