python

functionandfile

2018/10/26 陳惴棋

目錄

  • 複習
  • 上周練習解答
  • 輸出執行檔
  • function
  • file

複習

tuple

dictionary

上周練習解答

上周練習解答

專案:農夫渡河

完整程式碼:week4-1.py

輸出執行檔

輸出執行檔

.exe

安裝pyinstaller

在anaconda prompt輸入:


pip install pyinstaller
						

切換路徑

cd /d 切換磁區

在anaconda prompt輸入:


cd /d D:/NTNUCIC_4/範例程式碼
						

輸出執行檔

.exe

在anaconda prompt輸入:


pyinstaller week4-1.py
						

輸出onefile執行檔

.exe

在anaconda prompt輸入:


pyinstaller -F week4-1.py
						

function

function

  • 重複使用特定功能
  • 可遞迴

function

自訂函式


def myfuncname(參數1,參數2,...):#參數可有(數量不限)可無
    #函式區塊
    return 回傳值1,回傳值2, ...#回傳值可有(數量不限)可無
						

function

固定參數


def helloworld():
    print('hello world!')

def add2num(a,b):
    return a+b

helloworld()#use function helloworld()
a=int(input())
b=int(input())
print(add2num(a,b))
						

function

參數預設值


def add5(a,b=5):
    return a+b

a=int(input())
print(add5(a))

a=int(input())
b=int(input())
print(add5(a,b))
						

function

不定參數


print('myadd:')

def myadd(*args):
    s=0
    for i in args:
        s+=i
    return s

a=[int(i) for i in input().split()]
print(myadd(*a))
						

function

  • 程式結構化
  • 易維護

file

file

  • 檔案讀寫
  • 處理大量資料
  • 很重要...(?)

file

讀檔

open('filename','mode')


f=open('input5-1.txt','r')

for line in f:
    print(line,end='')

f.close()#關檔很重要
						

file

寫檔


f1=open('input5-1.txt','r')
f2=open('output5-1.txt','w')

for line in f1:
    print(line,end='')
    f2.write(line)

f1.close()#關檔很重要
f2.close()#關檔很重要
						

with

自動close()


with open('input5-1.txt','r') as f:
    for line in f:
        print(line,end='')
						

encode

cp950:ANSI

UTF-8:utf8


f1=open('ansi.txt','r',encoding='cp950')
f2=open('utf8.txt','r',encoding='UTF-8')
f1.close()#關檔很重要
f2.close()#關檔很重要
						

練習

練習

輸入溫度

輸出轉換後溫度


使用2函式供使用者選擇

def ftoc(f):

def ctof(c):

練習

輸出input5-2.txt數字總和

END