python练习题5

练习5

1.分三行将你的学号、姓名、和班级写入文本文件name.txt中,然后将文件name.txt中的内容输出到屏幕上显示。

with open(r"E:\Code\python\pythonClass\ninth\name.txt",'w',encoding='utf-8')as f:
    f.writelines('0001' + '\n')
    f.writelines('小明' + '\n')
    f.writelines('1702班' + '\n')
    f.close()
with open(r"E:\Code\python\pythonClass\ninth\name.txt",'r',encoding='utf-8')as f:
    print(f.read())
    f.close()

2.从一个文本文件grade.txt内读入任意多个学生的分数,求出最高分,最低分和平均分输出

with open("grade.txt", 'r') as f:
    ls = []
    for s in f:
        s = s.strip("\n")
        ls.append(int(s))
    print(max(ls))
    print(min(ls))
    print("{:.1f}".format(sum(ls)/len(ls)))

3.从文件in162.txt中读入10个以磅为单位的重量值,将其转换为以千克为单位的值并求和,将计算所得的和输出。说明:一磅等于0.454千克。

fo = open('in162.txt','r')
s = fo.readline()
a = []
ls = s.split(' ')
for i in ls:
    a.append(eval(i))
sum = 0.0
for j in a:
    sum = sum + j
wight = sum * 0.454
print(wight)

4.文件src.txt存储的是一篇英文文章,将其中所有大写字母转换成小写字母输出。

fo = open('src.txt','r')
s = fo.readline()
for i in s:
    print(i.lower(),end="")

5.文件“score.txt”中存储了歌手大奖赛中10名评委给一个歌手打的分,10个分数每个在一行,形式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

8.99‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

9.02‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

9.15‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

8.89‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

8.95‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

……‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

从文件中读取数据,存入列表中,计算该名歌手的最终得分,最终得分的计算方式是10个评分去掉最高分,去掉最低分,然后求平均分。最终得分保留两位小数,输出到屏幕

with open("score.txt", 'r') as f:
    ls = []
    for s in f:
        s = s.strip("\n")
        ls.append(float(s))
    ls.remove(max(ls))
    ls.remove(min(ls))
    print("{:.2f}".format(sum(ls) / len(ls)))

6.文件“mm.txt”中存储了字母和所对应的加密字符,中间用空格隔开,形式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

A 2
B 5
C 4
D 7
E 0
F 9
G 1
H 3
I 6
J 8
K !
L @
M #
N %
O $
P ^
Q *
R ,
S .
T (
U )
V -
W +
X <
Y >
Z ?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

从文件读取数据后,存入字典。然后输入字符串,输出加密后的字符串。

with open('mm.txt', 'r', encoding='utf-8') as f:
    dic = []
    for line in f.readlines():
        line = line.strip('\n')
        b = line.split(' ')
        dic.append(b)
dic = dict(dic)
dic[" "] = " "
str1 = list(input().upper())


for i in str1:
    print(dic[i], end="")

7.从键盘输入字符串,统计其中数字字符的个数。

str1 = input()
count = 0

for i in str1:
    if i.isnumeric() is True:
        count +=1
print(count)

8.读取附件seed.txt中作为随机种子来随机生成n个10位密钥,由大、小写字母和数字组成,n<=10,由用户输入 ,每行一个密钥输出在屏幕上,同时按每行一个密钥的格式写入当前路径下key.txt中。

ls = ['iK2ZWeqhFW',
      '9382dffx1k',
      'pLIix6MEOL',
      'ptgUzEjfeb',
      'NqVwYS81VP',
      'YK0fFWqcaj',
      'u8jzPde0Ig',
      'ox9yimTcfi',
      'DNxril3Rav',
      'KcBEKanD0F']

num = int(input())
if num <= 10:
    for j in ls[:num]:
        print(j)
elif num > 10:
    print("Input Error!")

9.打开上一个题目中生成的数据文件“ d2.csv”,读取文件内容,以分行的方式显示在屏幕终端,每行各个数据间用“ \ t”制表符号控制输出格式。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

提示: 每行数据可构造由"\t“分隔的格式字符串,示例如下: ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

        ss+="{}\t".format(item)
fo = open("d2.csv","r")
for line in fo:
    line = line.replace("\n","")
    line = line.split(',')
    ss = ''
    for item in line:
        ss+="{}\t".format(item)
    print(ss)
  1. 循环输入整数n(n取值范围1,2,3),输入1或2读取文本文件text1.txt或text2.txt的全部数据;输入3退出循环,输出“已经退出循环”
    判断读取的字符串:
    1).如果是数字组成的,利用format格式右对齐 20位宽,以*号填充输出,例如读取的数字是2,输出格式为“*********2”。
    2).如果是字符串组成的,从该字符串下标2到最后输出。例如读取的是“Happy”,输出“ppy”
while 1:
    flag = int(input())
    if flag == 1:
        with open("text1.txt", 'r', encoding='utf-8') as f:
            ls = f.read()
            print(ls[1:10])
            print("{:*>20}".format(ls[1:10]))

    elif flag == 2:
        with open("text2.txt", 'r', encoding='utf-8') as f:
            ls = f.read()
            print(ls[3:])

    elif flag == 3:
        print("已经退出循环")
        break

你可能感兴趣的:(python基础,正则表达式,python,python)