《Python程式設計與演算法基礎教程(第二版)》第六章 輸入與輸出 上機實踐
阿新 • • 發佈:2020-12-29
技術標籤:Python作業
python實驗二:
上機實踐:2,3,4,5
2、嘗試修改例6.2編寫命令列引數解析的程式,解析命令列引數所輸入的邊長的值,計算並輸出正方形的周長和麵積。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--length', default = 10, type =int, help ='邊長')
args = parser.parse_args()
zhouchang = args.length * 4
area = args.length * args.length
print ('周長=',zhouchang)
print('面積=',area)
3、嘗試修改例6.8編寫讀取並輸出文字檔案的程式,由命令列第一個引數確認所需輸出的文字檔名。
import sys
filename = sys.argv[1]
f = open(filename,'r',encoding = 'utf-8')
line_no=0
while True:
line_no+=1
line = f.readline()
if line:
print(line_no,":",line)
else:
break
f. close()
4、嘗試修改例6.9編寫利用with語句讀取並輸出文字檔案的程式,由命令列第一個引數確認所需輸出的文字檔名。
import sys
filename = sys.argv[1]
line_no = 0
with open(filename,'r',encoding = 'utf-8') as f:
for line in f:
line_no +=1
print(line_no,",",line)
f.close()
5、嘗試修改例6.12編寫標準輸出流重定向的程式,由命令列第一個引數中獲取n的值,然後將0n、0
import sys
n = int(sys.argv[1])
power = 1
twice = 0
i = 0
f = open('out.log','w')
sys.stdout = f
while i<= n:
print(str(i),' ',str(power),' ',str(twice))
power = 2*power
i =i+1
twice = 2*i
sys.stdout = sys.__stdout__
print('done!')