2

数字の行を印刷してから、新しい行を作成してカウントを続けたいと思っています..つまり、カレンダー..
今、私は持っています

numbers = [1, 2, 3, 4, 5];                                                                       
print(*numbers, sep='  ')


Sun Mon Tues Wed Thurs Fri Sat                      
  1  2    3   4    5    6   7

しかし、今は新しい行を作成して続行する必要があります..これを簡単に行う方法はありますか? すべてを書き出すと、私のコードは非常にかさばり、雑然とします。

4

3 に答える 3

1

Python 2.* で。次のコードは、各行に 1 から 31、7 までの数字を出力します。

columns = 7
for i in range(1, 32):
 if i % columns != 0:
  print i,
 else:
  print i

print i と print i に注意してください。コンマ記号は改行文字を抑制します。新しい行を開始するときは、カンマを省略します。新しい行を開始する別の方法は、空の文字列を出力することです。

print ''

Python 3.* ではprintが関数に変更されました

print(x, end=" ")  # Appends a space instead of a newline

また

print(x), # this will still print a space, but not a newline

番号正当化ボーナスを含むソリューションは次のようになります。

for i in range(1, 32):
  if i%column != 0:
    print(str(i).rjust(3)),
  else:
    print(str(i).rjust(3))

結果:

  1   2   3   4   5   6   7
  8   9  10  11  12  13  14
 15  16  17  18  19  20  21
 22  23  24  25  26  27  28
 29  30  31

str.ljust()、関数で遊んで、str.center()必要な理由を得ることができます。

数字を印刷するさらに別の方法:

import sys    
sys.stdout.write(str(i))

print() 関数は、印刷する個々のアイテムをどのように分離するかを指定できる sep パラメータも提供します。それはあなたにもアイデアを与えることができます。

于 2013-10-14T03:33:39.963 に答える