python 第九章答案 9.5~

9.5 先写一个产成随机产生两个相同文件的程序(中间有一位不同), 50 - 100 行以内,每行10- 20 个字母, 产生的随机不同位置在20-50行 第5-10 个字符(为了不产生差错)

import os
import sys
import random
import string
f1 = open('test1.txt', 'w')
f2 = open('test2.txt', 'w')
line = random.randint(50, 100)
line1 = random.randint(10, 50)
line2 = random.randint(5,10)
strings = string.letters
for i in range(line):
    each_line = random.randint(10, 20)
    wstring1 = ''
    wstring2 = ''
    for j in range(each_line):
        randchar1 = random.choice(strings)
        if i == line1 and j == line2:
            wstring1 += random.choice(strings)
            wstring2 += random.choice(strings)
        else:
            wstring1 += randchar1
            wstring2 += randchar1
    wstring1 += '\n'
    wstring2 += '\n'
    f1.write(wstring1)
    f2.write(wstring2)
f1.close()
f2.close()
print line1, line2
好吧我给出的结果太c语言了,刚从c语言传过来,首先打开两个文件,存入两个一个列表,比较列表的每一项,如果不同记录下行值,然后在对比两个列表的这一行,找出来具体位置

f1 = open('test1.txt', 'r')
f2 = open('test2.txt', 'r')
f11 = f1.readlines()
f22 = f2.readlines()
flag = True
line = 0
row = 0
line1 = ''
line2 = ''
breakup = 0
for i in range (min(len(f11), len(f22))):
    if f11[i] != f22[i]:
        line1 = f11[i]
        line2 = f22[i]
        breakup = i
        flag = False
        break
    else:
        continue
if flag:
    print "there is no difference beween two files"
else:
    for j in range(min(len(line1), len(line2))):
        if line1[j] != line2[j]:
            print breakup, j


9.7 不明白它究竟让怎么解析

9.8

这样写是不是有点太简单~

usrinput = raw_input("please input the moude you want to know")
print dir(usrinput)

有点混乱今天到这里了~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值