林森森 发表于 2021-1-8 10:34:08

帮帮孩子吧

给定一个文本文件abc.txt,编程读取该文件内容,分别统计其中的奇数和偶数的个数,并输出,要求使用字典数据结构。

jackz007 发表于 2021-1-8 10:45:45

本帖最后由 jackz007 于 2021-1-8 11:07 编辑

       关键是,你的文件格式和内容是什么样的?
       如果文件内容全部都是整数,没有任何文字或浮点数,那就试试下面的代码
d = {}
with open('abc.txt') as f:
    for line in f:
      for x in map(int , line . strip() . split()) :
            if x % 2:
                d . setdefault('odd' , 0)
                d['odd'] += 1
            else:
                d . setdefault('even' , 0)
                d['even'] += 1                        
print('奇数:' , d['odd'] , '偶数:' , d['even'])

林森森 发表于 2021-1-8 11:07:55

jackz007 发表于 2021-1-8 10:45
关键是,你的文件格式和内容是什么样的?
       如果文件内容全部都是整数,没有任何文字或浮点数 ...

Lt&cq8ei59$wqM$EvD8AM^9
4jEJ8esWfjMKn^Sr&&Ch7vw5sfvkXrX6heJPLOoZG6gyRtRL7fyNZ2ufzkbePi&og61jebMiCkqGKF1FQIv9AFHd^FETF7uI65$PMZV4v8veRpQS5v
mtG4nic2HKAxBC
idzxa&^hm&
这样的一段字符

jackz007 发表于 2021-1-8 11:16:14

林森森 发表于 2021-1-8 11:07
Lt&cq8ei59$wqM$EvD8AM^9
4jEJ8esWfjMKn^Sr&&Ch7vw5sfvkXrX6heJPLOoZG6gyRtRL7fyNZ2ufzkbePi&og61jebMiC ...

      规则是什么,完全靠自己检出?连续 1个以上数字字符算1个还是多个整数?回车换行算不算分隔符?
      你这段文字中有多少个奇数,多少个偶数?

林森森 发表于 2021-1-8 11:20:23

对,abc。txt就是上面这一段字符,就是看这段字符中奇偶个数

林森森 发表于 2021-1-8 11:24:27

jackz007 发表于 2021-1-8 11:16
规则是什么,完全靠自己检出?连续 1个以上数字字符算1个还是多个整数?回车换行算不算分隔符 ...

题目的意思就是看这段字符中的奇偶的个数

jackz007 发表于 2021-1-8 11:33:51

本帖最后由 jackz007 于 2021-1-8 13:49 编辑

林森森 发表于 2021-1-8 11:24
题目的意思就是看这段字符中的奇偶的个数

#coding:gbk
d = {}
with open('abc.txt') as f:
    txt = '' . join(x . strip() for x in f . read() . split('\n'))
for x in txt:
    if x . isdigit():
      b = int(x)
      if b % 2:
            d . setdefault('odd' , 0)
            d['odd'] += 1
      else:
            d . setdefault('even' , 0)
            d['even'] += 1
print('奇数:' , d['odd'] , '偶数:' , d['even'])
      运行实况:
D:\0002.Exercise\Python>python x.py
奇数: 12 偶数: 13

D:\0002.Exercise\Python>
页: [1]
查看完整版本: 帮帮孩子吧