剛開始學習python,照著書上敲的代碼:
#根據給定的年月日以數位形式列印出來months = [ 'January', 'Febuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']#以1~31的數字作為結尾的列表endings = ['st', 'nd', 'rd'] + 17 * ['th'] \ + ['st', 'nd', 'rd'] + 7 * ['th'] \ + ['st']year = raw_input('Year: ')month = raw_input('Month (1-12): ')day = raw_input('Day (1-31)')month_number = int(month)day_number = int(day)#記得要將月份和天數減1,以獲得正確的索引month_name = months[month_number-1]ordinal = day + endings[day_number-1]print month_name + ' ' + ordinal + ', ' + year~
執行時出現了錯誤:
SyntaxError: Non-ASCII character '\xe6' in file 列印日期.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
百度了一下:
發現是因為Python在預設狀態下不支援源檔案中的編碼所致。解決方案有如下三種:
一、在檔案頭部添加如下注釋碼:
# coding=<encoding name> 例如,可添加# coding=utf-8
二、在檔案頭部添加如下兩行注釋碼:
#!/usr/bin/python
# -*- coding: <encoding name> -*- 例如,可添加# -*- coding: utf-8 -*-
三、在檔案頭部添加如下兩行注釋碼:
#!/usr/bin/python
# vim: set fileencoding=<encoding name> : 例如,可添加# vim: set fileencoding=utf-8 :
我用的是第一種方法解決的。記錄一下。