第一個Python小程序,制作簡易萬年歷。現在開始學習Python的目的主要是為了學習人工智能
寫這個小程序的目的主要是了解一下Python的簡單語法使用,其實寫這個程序之前,我還沒有看Python的語法,是直接網上搜索了Python萬年歷的例子,然后看了下,本是想直接粘貼過來,運行看看,沒想到運行結果不是正常的,然后自己就開始調試,感覺語法很人性化,容易看懂,只不過也有好多的小細節:
(1)函數和函數之間要空兩行,不然會報警告
(2)程序最后需要空一行,不然也有警告
(3)沒有了其他語言,如C/C++,Java的大括號,而是用嚴格的對齊方式來表明作用域
(4)&& || 變成了 and or
(5)true false 變成了True False
(6)定義函數用 def
(7)主要的關鍵字末尾用 : 加了冒號之后,你再換行,編譯器會直接進行縮進對齊,如:def leap_year(year):
(8)函數,變量的命名要小寫
(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")
