《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()

《Python程序设计与算法基础教程(第二版)》第六章 输入与输出 上机实践_第1张图片
在这里插入图片描述

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()

《Python程序设计与算法基础教程(第二版)》第六章 输入与输出 上机实践_第2张图片
在这里插入图片描述

5、尝试修改例6.12编写标准输出流重定向的程序,由命令行第一个参数中获取n的值,然后将0n、0n的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!')

《Python程序设计与算法基础教程(第二版)》第六章 输入与输出 上机实践_第3张图片

你可能感兴趣的:(Python作业)