python 条件判断问题

时间水果类型2014-2-10:02香蕉2014-2-25:12苹果2014-2-312:02梨2014-2-40:02芒果2014-2-50:02西瓜2014-2-60... 时间 水果类型

2014-2-1 0:02 香蕉

2014-2-2 5:12 苹果

2014-2-3 12:02 梨

2014-2-4 0:02 芒果

2014-2-5 0:02 西瓜

2014-2-6 0:02 苹果

2014-2-7 11:02 香蕉

2014-2-7 22:24 梨

2014-2-9 0:02 芒果

2014-2-10 12:02 苹果

2014-2-11 0:02 香蕉

2014-2-11 8:09 芒果

2014-2-13 15:02 苹果

2014-2-14 3:02 梨

2014-2-14 15:22 芒果

2014-2-16 0:02 苹果

2014-2-17 0:02 梨

2014-2-18 0:02 芒果

2014-2-19 0:02 苹果

2014-2-20 0:02 梨

2014-2-20 12:02 芒果

2014-2-22 0:02 芒果

2014-2-23 4:07 苹果

2014-2-23 0:02 梨

2014-2-25 0:02 苹果

python小白. 判断在两个时间断内.没有出现过水果类型,求大神帮忙呀..
输出在2014-2-20 到 2014-2-25 没有出现过的水果名字,去重复.
展开
 我来答
albumin
2014-03-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2370万
展开全部
import re
import time
fruitfile=open(r'fruit.txt')
starttimestr="2014-2-20"
endtimestr="2014-2-25"
starttime=time.strptime(starttimestr,"%Y-%m-%d")
endtime=time.strptime(endtimestr,"%Y-%m-%d")
allfruit=set()
intimefruit=set()
for line in fruitfile:
  match=re.search(r"(\d{4}-\d{1,2}-\d{1,2})\s+(\d{1,2}:\d{1,2})\s+(\S+)",line)
  if match:
    fruittime=match.group(1)
    fruittime=time.strptime(fruittime,"%Y-%m-%d")
    fruit=match.group(3)
    allfruit.add(fruit)
    if  starttime<=fruittime<=endtime:
      intimefruit.add(fruit)
outtimefruit=allfruit-intimefruit      
print("在%s到%s之间没有出现的水果类型:"%(starttimestr,endtimestr))
for fruit in outtimefruit:
  print(fruit)

读取保存在文本文件fruit.txt中的上述文字,输出在2014-2-20到 2014-2-25之间没有出现过的水果名字

maxdandan2
2014-03-04 · 超过13用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:20.8万
展开全部
1、获得符合时间条件的 数据列表
2、遍历这个列表 获取后面的水果类型,放到一个数组里面
3、数组去重 :list(set(数组))
4、假设a列表保存所有水果类型,遍历a列表,如果值不在第三步获得的数组中,则说明没有出现过
追问
能不能直接用python 写一个 这么看不是很明白,,看不太懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kindle大神
2014-03-05 · TA获得超过160个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:172万
展开全部
你水果的总类型都没有给出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式