Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何移动连续数字的行。Python 3.3.2_Python_Python 3.x - Fatal编程技术网

如何移动连续数字的行。Python 3.3.2

如何移动连续数字的行。Python 3.3.2,python,python-3.x,Python,Python 3.x,我目前正在用python 3.3.2制作日历。现在我有 def month_28(): if day == 1: columns = 7 for i in range(1, 29): if i % columns != 0: print(i, end= " ") if i <= 9: print(end=" ")

我目前正在用python 3.3.2制作日历。现在我有

def month_28():
    if day == 1:
        columns = 7
        for i in range(1, 29):
            if i % columns != 0:
                print(i, end= " ")
                if i <= 9:
                    print(end="    ")
                else:
                   print(end="   ")
            else:
                print(i)
但是,如果一月在星期三结束,我需要二月在星期四开始。整整一年。你知道我如何把2月1日的时间移到5个地方,然后从周四开始计算吗?如果有更好的方法可以连续打印一年中每个月的数字。请告诉我。非常感谢您的帮助。
谢谢。

我知道我没有回答直接的问题,但是,您不想使用该模块吗


无论如何,如果您坚持手工操作,模块的class
date
中的
weekday
方法将非常有用。它返回一个从0到6的数字,这正是您需要移动的位置数。但是您的双
for
循环需要工作…

您可以使用日历:

>>> import calendar
>>> print calendar.TextCalendar().formatmonth(2013,2,4)
          February 2013
Mon  Tue  Wed  Thu  Fri  Sat  Sun
                      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
如果您希望周日作为第一天:

>>> print calendar.TextCalendar(calendar.SUNDAY).formatmonth(2013,2,4)
          February 2013
Sun  Mon  Tue  Wed  Thu  Fri  Sat
                           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
从概念上讲,日历是一张桌子;表是列表列表的文本表示:

>>> table=[['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
...        ['','','','','','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','','']] 
如果您想将该表“漂亮地打印”到日历中,则需要滚动您自己的:

def printTable (tbl, borderHorizontal = '-', borderVertical = '|', borderCross = '+'):
    cols = [list(x) for x in zip(*tbl)]
    lengths = [max(map(len, map(str, col))) for col in cols]
    f = borderVertical + borderVertical.join(' {:>%d} ' % l for l in lengths) + borderVertical
    s = borderCross + borderCross.join(borderHorizontal * (l+2) for l in lengths) + borderCross
    rtr=[s]

    for row in tbl:
        rtr.append(f.format(*row))
        rtr.append(s)

    return '\n'.join(rtr)

print(printTable(table))
印刷品:

+-----+-----+-----+-----+-----+-----+-----+
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
+-----+-----+-----+-----+-----+-----+-----+
|     |     |     |     |     |   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 |     |     |
+-----+-----+-----+-----+-----+-----+-----+

我会的,但我现在在大学里学习comp prog。我们被要求制作一个日历,要求一年和一天,并相应地显示。因为我们在介绍中,她希望日历看起来像是一个noobie做的。日历模块对我们来说太整洁了,我们没有从中学习编程=/好吧,那我就不再帮你了。。。干杯…:-)没错!只需要开始=)而不是答案键。。那一点也不好玩,对我一点帮助都没有。。谢谢
+-----+-----+-----+-----+-----+-----+-----+
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
+-----+-----+-----+-----+-----+-----+-----+
|     |     |     |     |     |   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 |     |     |
+-----+-----+-----+-----+-----+-----+-----+