利用Python製做萬年曆

 

第一個Python小程序,製做簡易萬年曆。如今開始學習Python的目的主要是爲了學習人工智能shell

寫這個小程序的目的主要是瞭解一下Python的簡單語法使用,其實寫這個程序以前,我尚未看Python的語法,是直接網上搜索了Python萬年曆的例子,而後看了下,本是想直接粘貼過來,運行看看,沒想到運行結果不是正常的,而後本身就開始調試,感受語法很人性化,容易看懂,只不過也有好多的小細節:編程

(1)函數和函數之間要空兩行,否則會報警告小程序

(2)程序最後須要空一行,否則也有警告函數

(3)沒有了其餘語言,如C/C++,Java的大括號,而是用嚴格的對齊方式來代表做用域工具

(4)&& || 變成了 and or學習

(5)true false 變成了True False人工智能

(6)定義函數用 defspa

(7)主要的關鍵字末尾用  :    加了冒號以後,你再換行,編譯器會直接進行縮進對齊,如:def leap_year(year):調試

(8)函數,變量的命名要小寫code

(9)循環能夠用range,有點像matlab

(10)這是一種腳本語言,想Linux環境是默認有Python環境的,就像shell同樣,能夠被解釋

(11)這不是新興的語言,1991年就已經發行了,如今之因此這麼流行,是由於人工智能被普遍應用了

(12)想定義變量,直接命名就能夠,但也有這種寫法: y = int(_year_)  ,把_year_轉成int類型,昨天調了半天

(13)print用法,print(end="\t"),它默認是\n的,這個也調了半天

經過這個例子,簡單明白了一些基本操做,但願看見這篇博客的朋友能明白,語言真的只是一個工具,能熟練運用固然再好不過了,可是更重要的編程的思惟,但最好也要有本身能熟練操做的一門語言。下面是具體的例子,有興趣的朋友能夠看看,沒有寫註釋,勉強看吧。

def leap_year(year):
    if 0 == year % 4 and 0 != year % 400 or 0 == year % 400:
        return True
    else:
        return False


def get_month_days(year, month):
    days = 31
    if 2 == month:
        if leap_year(year):
            days = 29
        else:
            days = 28
    elif 4 == month or 6 == month or 9 == month or 11 == month:
        days = 30
    return days


def get_total_days(year, month):
    total_days = 0
    for i in range(1, year):
        if leap_year(year):
            total_days += 366
        else:
            total_days += 365
    for i in range(1, month):
        total_days += get_month_days(year, i)
    return total_days


_year_ = input("請輸入年份:")
_month_ = input("請輸入月份:")

print()
print("日\t一\t二\t三\t四\t五\t六")
print()

count = 0
y = int(_year_)
m = int(_month_)

for c in range(get_total_days(y, m) % 7):
    print(end="\t")
    count += 1

for day in range(1, get_month_days(y, m)+1):
    print(day, end="\t")
    count += 1
    if 0 == count % 7:
        print("\n")
相關文章
相關標籤/搜索