questions re: calendar module

o1bigtenor o1bigtenor at gmail.com
Sat Aug 1 10:29:24 EDT 2020


On Sat, Aug 1, 2020 at 6:58 AM Peter Otten <__peter__ at web.de> wrote:
>
> o1bigtenor wrote:
>
> >>>> import calendar
> >>>> print (calendar.calendar(2024,1,1,2,8))
>
> > I would like to show something like 2024 through the end of 2028.
>
> print("\n".join(cd.calendar(year) for year in range(2024, 2029)))


Sorry - - - - 1st response was to only Mr Peter - - - hopefully this is
useful to more than I so here is that to all.
>
>

>>> print("\n".join(cd.calendar(year) for year in range(2024, 2029)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <genexpr>
NameError: name 'cd' is not defined

so 'cd' seems to be a problem.

Tried changing 'cd' to calendar and that gives the desired response.

Except its a neat 3 months wide very very very many rows of calendar.

I'm trying to figure out how to do something like this:

        November 2022                      December 2022
    January 2023                    February 2023
March 2023                        April 2023
May 2023
       Su Mo Tu We Th Fr Sa         Su Mo Tu We Th Fr Sa      Su Mo Tu
We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
123        1  2  3  4  5             127              1  2  3
    132  1  2  3  4  5  6  7  136           1  2  3  4  140
1  2  3  4  144                    1  149     1  2  3  4  5  6
124  6  7  8  9 10 11 12  128  4  5  6  7  8  9 10  133  8  9 10 11 12
13 14  137  5  6  7  8  9 10 11  141  5  6  7  8  9 10 11  145  2  3
4  5  6  7  8  150  7  8  9 10 11 12 13
125 13 14 15 16 17 18 19  129 11 12 13 14 15 16 17  134 15 16 17 18 19
20 21  138 12 13 14 15 16 17 18  142 12 13 14 15 16 17 18  146  9 10
11 12 13 14 15  151 14 15 16 17 18 19 20
126 20 21 22 23 24 25 26  130 18 19 20 21 22 23 24  135 22 23 24 25 26
27 28  139 19 20 21 22 23 24 25  143 19 20 21 22 23 24 25  147 16 17
18 19 20 21 22  152 21 22 23 24 25 26 27
127 27 28 29 30           131 25 26 27 28 29 30 31  136 29 30 31
       140 26 27 28              144 26 27 28 29 30 31     148 23 24
25 26 27 28 29  153 28 29 30 31

                                                           149 30

       June 2023                 July 2023                August 2023
           September 2023             October 2023
November 2023             December 2023
    Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th
Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo
Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
153              1  2  3  157                    1  162        1  2  3
 4  5  166                 1  2  171  1  2  3  4  5  6  7  175
  1  2  3  4  179                 1  2

The formatting here is a mess.
The months are centered. The week numbers are consecutive from the
starting date.
The dates are centered under the weekday name. If you've ever used
ncal its like that except
that I can now have up to 7 months wide if the terminal is wide enough
(>180 columns IIRC).
A mentor was working on this in Perl but as he died some couple months
ago its up to me
to make what I want.
Because it seems like there are a lot of disparate things happening
its not very straight
forward trying to replicate and extend my friend's efforts except in
Python. (My friend
preferred to work in Perl rather than Python and I'm wanting to learn
Python. I understand
that this is not perhaps the easiest way to learn something but it
sure is interesting!)

TIA


More information about the Python-list mailing list