第一次用python解决问题

公司要更新最新的屏蔽字。到我手上的是一份word文档,一大段。每个屏蔽字之间用空字符串隔开。由于我们的屏蔽字导入系统的批量导入是csv格式的。。于是动手转换之。。
#coding=utf-8
import io,re
myfile = open(r"c:\w.txt","r")
str = myfile.read()
patt = re.compile(r"\S+")
arr = patt.findall(str)
f = open(r"c:\list.csv","w")
for i in range(len(arr)):
f.write(arr[i] + "\n")
f.close()



不过有个问题没解决,直接读取word文档的结果是不正确的,于是把内容复制到txt里读取,就正常了。。- -。
面对.net下一大堆的文件操作类手足无措时,首次体会了下python的 simple is better。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
约瑟夫问题是一个经典的数学问题,描述如下:有n个人围成一圈,从第一个人开始报数,报到m的人出列,然后从下一个人开始重新报数,直到所有人都出列。现在我们来介绍一下如何使用循环来解决约瑟夫问题。 首先,我们可以使用一个列表来表示这n个人,列表中的每个元素代表一个人的编号。然后,我们可以使用一个循环来模拟报数和出列的过程,直到所有人都出列为止。 具体的解决步骤如下: 1. 创建一个包含n个元素的列表,表示n个人的编号。 2. 初始化一个变量i,表示当前报数的人的索引,初始值为0。 3. 使用一个循环,重复以下步骤,直到列表为空: - 在循环中,将i加上m-1,表示报数m次后需要出列的人的索引。 - 使用取余运算符%将i限制在列表长度范围内,以防止索引越界。 - 输出当前出列的人的编号。 - 使用列表的pop方法将当前出列的人从列表中移除。 4. 循环结束后,所有人都已经出列。 下面是使用Python代码实现约瑟夫问题的示例: ```python def josephus(n, m): people = list(range(1, n+1)) i = 0 while people: i = (i + m - 1) % len(people) print("出列的人的编号:", people.pop(i)) print("约瑟夫问题解决完毕!") # 示例调用 josephus(7, 3) ``` 这段代码中,josephus函数接受两个参数n和m,分别表示人数和报数的次数。函数内部使用一个循环来模拟报数和出列的过程,直到所有人都出列为止。每次出列后,会输出当前出列的人的编号。最后,会输出"约瑟夫问题解决完毕!"表示问题已经解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值