7-1.有一个英文文件"example.txt".编写一个程序把大写字母变小写,小写字母变大写,其他字符不变. 结果写入文件"result.txt"。@程序压缩后(zip)以文件形式上传!
example.txt格式:
ABx,CJacj@ghbNCBlBbxbNCqqk
result.txt格式:
abX,cjACJ@GHBncbLbBXBncQQK
x=""
with open("example.txt","r") as f:
while 1:
s = f.readline()
if not s: break
for i in s:
if i.isupper():
x += i.lower()
elif i.islower():
x += i.upper()
else: x += i
with open("result.txt","w") as g:
g.write(x)
print("成功")
7-2.统计文本文件"letter.txt"中各类字符个数:分别统计字母( 大小写不区分),数字及其他字符的个数。@程序压缩后(zip)以文件形式上传!
lrtter.txt格式:
12scn3p@vniuy8#
输出:
9 4 2
num1,num2,j=0,0,0
with open("letter.txt","r") as f:
while 1:
s=f.readline()
if not s:break
for i in s:
j+=1
if i.isalpha(): num1+=1
elif i.isdigit(): num2+=1
print(num1,num2,j-(num1+num2))
7-3.编程实现词汇表,计算每一个单词出现的次数,大小写不区分,输出到"dic.txt" 文件保存。
程序压缩后(zip)以文件形式上传!
dic={}
fo = open("dic.txt","w")
with open("freedom.txt","r",encoding="utf-8") as f:
while 1:
s=f.readline()
if not s:break
s=s.lower()
for i in s:
if i.isalpha()==False:
s=s.replace(i," ")
s=list(s.split())
for i in s:
if i in dic:
dic[i]+=1
else:
dic[i]=1
for k,v in dic.items():
l=k+":"+str(v)+"\n"
fo.write(l)
7-4. 用水量文件"water.txt"的第一列为账号,下面是每个月的用水量(后一个数-前一个数),共十二个月。每立方米需付1.05元。编程计算每户一年的水费,结果保存在fee.txt文件中。程序和结果文件压缩后(zip格式)以文件形式上传!
water.txt格式如下:
0000359333 772 789 806 847 880 901 950 991 1022 1043 1064 1089 1114
0000359305 121 132 145 156 168 179 192 206 219 230 246 258 273
0000359708 1008 1046 1102 1167 1209 1255 1311 1362 1407 1453 1512 1563 1604
0000359504 541 567 590 622 651 689 701 732 758 775 796 814 847
0000359209 401 412 441 466 479 490 508 522 541 572 603 637 666
fee.txt格式如下(保留2位小数):
0000359333 359.10
0000359305 159.60
0000359708 625.80
0000359504 321.30
0000359209 278.25
dic={}
fo = open("fee.txt","w")
with open("water.txt","r") as f:
while 1:
num=0
s=f.readline()
if not s:break
x=s[0:10]
s=s.split()
for i in range(1,len(s)-1):
num+=int(s[i+1])-int(s[i])
num*=1.05
num=round(num,2)
dic.update({x:num})
with open("fee.txt","w") as g:
for k, v in dic.items():
print("%s %.2f"%(k,v),file=g)