栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

实验3 序列数据类型的使用(Python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实验3 序列数据类型的使用(Python)

1 正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。
现给定 A、DA、B、DB,请编写程序计算 PA+PB。

【程序分析】

输入在一行中依次给出 A、DA、B、DB,中间以空格分隔,其中 0

例如:3862767 6 13530293 3

PA=66, PB=333, PA+PB=333+66=399

ist=[x for x in input( "请输入A DA B DB:").split()]
A=list[0]
DA=list[1]
B=list[2]
DB=list[3]
n,m=0,0
for x in A:
    if DA==x:

        n+=1

for r in B:

    if DB==r:

        m+=1

PA = n * DA
PB = m * DB
if n!=0 and m!=0:
    print("PA={0}, PB={1}, PA+PB={2}".format(int(PA),int(PB),int(PA)+int(PB)))
elif n==0 and m!=0:
    print("PA={0}, PB={1}, PA+PB={2}".format(int(PA),int(PB),int(PB)))
elif n!=0 and m==0:

    print("PA={0}, PB={1}, PA+PB={2}".format(int(PA),int(PB),int(PA)))

elif n==0 and m==0:

    print("PA={0}, PB={1}, PA+PB={2}".format(int(PA),int(PB),0))

 2 通过键盘输入系列整数值,输入 0 则表示输入结束,将这些值(不含 0)建立为一个列表,并按从大到小的顺序输出该列表各元素。

a=[]
x=int(input("请输入一个整数,输入 0 则表示输入结束:"))
while x!=0:
    a.append(x)
    x=int(input("请输入一个整数,输入 0 则表示输入结束:"))
print(a)
a.sort()
a.reverse()
print(a)

3编写命令行参数解析程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。

例如, 在命令行程序输入:pythonarg_parse.py  --length 5

输出: 边长为5正方形周长为20,面积为25

【程序分析】

1、 首先导入argparse 模板

2、 创建ArgumentParser对象

3、 调用创建的对象的方法add_argument(),并增加要解析的命令行参数信息

4、调用创建对象方法parse_argvs()解析命令行参数,生成对应的列表

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('边长={0}周长={1},面积={2}'.format(args.lengthzhouchang,area))

4 编写读取并输出文本文件程序,由命令行第一个参数确认所需输出的文本文件名。

例如,本章实验指导书实验预备知识例三。

【程序分析】

1、与例三不同的是,需要由从命令行第一个参数确认所输出的文本文件

2、输出的文本文件,可以是自己编写的python程序

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

5 编写标准输出重定向的程序,从命令行第一个参数中获取n的值,然后将0~n、0~n的2倍值、2的0~n次幂的列表打印输出到out.log文件中。

【程序分析】

1、首先导入sys模块

2、 指定一个变量接收从命令行输入的第一个参数n值

3、计数赋初值

4、指定标准输出重定向到out.log文件中

5、输出0~n、0~n的2倍值、2的0~n次幂的列表

6、通过程序命令type out.log显示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(twice),' ',str(power))
    power = 2*power
    i =i+1
    twice = 2*i
sys.stdout = sys.__stdout__
print('done!')

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号