我們編程時很容易疲勞,所以讓我們來設(shè)計(jì)一個可以在一段時間后提醒你休息的小程序。比如每隔兩個小時打開http://lines.frvr.com 此網(wǎng)站來玩一會兒小游戲。
讓我們來分析下需要哪些步驟
我們首先要讓程序等待兩個小時,在需要休息的時候打開瀏覽器并轉(zhuǎn)到這個小游戲的網(wǎng)站。也許我們一天要休息多次,所以我們需要一個循環(huán)來讓其實(shí)現(xiàn)多次。
1. 等待兩小時
2. 打開瀏覽器
重復(fù)
現(xiàn)在,讓我們開始吧~
首先讓我們google一下如何用Python來打開瀏覽器

webbrowser.open("http://lines.frvr.com")
可以看到上述代碼可以使用默認(rèn)瀏覽器打開指定網(wǎng)頁。
讓我們試試吧~

保存并執(zhí)行

出現(xiàn)了錯誤,不過學(xué)過java的你肯定能看懂是什么原因。

導(dǎo)入webbrowser模塊就可以正常運(yùn)行了,不要被這個網(wǎng)站的小游戲吸引走哦,我們還沒有結(jié)束。
下面我們看看Python如何能讓程序等待2小時,為了方便測試,我們把等待時間設(shè)置為3秒

可以看到使用time.sleep()方法可以是程序等待一段時間執(zhí)行,參數(shù)以秒為單位
所以我們在程序中添加以下代碼
time.sleep(3)
當(dāng)然也要導(dǎo)入相應(yīng)模塊。

很簡單有沒有?
接下來我們來讓其循環(huán)3次
輸入以下代碼
import webbrowser
import time
total_breaks = 3
break_count = 0
print("This program started on" + time.ctime())
while(break_count < total_breaks):
time.sleep(3)
webbrowser.open("http://lines.frvr.com")
break_count = break_count + 1
代碼很簡單,首先我們定義了總的休息次數(shù)為3,我們又定義了已休息次數(shù)初始值為0。接下來是一個while循環(huán),當(dāng)已休息次數(shù)小于總休息次數(shù)時執(zhí)行循環(huán)體。最后將已休息次數(shù)加1。
值得注意的是while循環(huán)并沒有花括號。
學(xué)習(xí) Python 與其他語言最大的區(qū)別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數(shù)以及其他邏輯判斷。python 最具特色的就是用縮進(jìn)來寫模塊。
縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進(jìn)空白數(shù)量,這個必須嚴(yán)格執(zhí)行。如下所示:
if True:
print "True"
else:
print "False"
以下代碼將會執(zhí)行錯誤:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py
if True:
print "Answer"
print "True"
else:
print "Answer"
# 沒有嚴(yán)格縮進(jìn),在執(zhí)行時會報(bào)錯
print "False"
執(zhí)行以上代碼,會出現(xiàn)如下錯誤提醒:
$ python test.py
File "test.py", line 5
if True:
^
IndentationError: unexpected indent
IndentationError: unexpected indent 錯誤是 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴(yán)格。
如果是 IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn),有的是空格縮進(jìn),改為一致即可。
因此,在 Python 的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)。
建議你在每個縮進(jìn)層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用。