1. 程式人生 > 其它 >《Python程式設計與演算法基礎教程(第二版)》第六章 輸入與輸出 上機實踐

《Python程式設計與演算法基礎教程(第二版)》第六章 輸入與輸出 上機實踐

技術標籤: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

n的2倍值、2的0~n次冪的列表列印輸出到out.log檔案中。

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!')

在這裡插入圖片描述