RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1566523
Accepted
андрей марченков
андрей марченков
Asked:2024-02-16 07:05:37 +0000 UTC2024-02-16 07:05:37 +0000 UTC 2024-02-16 07:05:37 +0000 UTC

计算文本中的单词数(使用更正的代码并添加已提出的问题“计算文本中的单词数”)

  • 772

我修改后的解决方案是这样的:我们用文字将其分解 - 我们删除所有不必要的内容。在循环中,我们检查该单词是否被禁止并增加计数器 - 我们还添加了禁止单词,将其翻译为大写()和一个空格并将其放入集合中

我收到这样的提示:方向是由Enikeyshchik指示的,但是单词可以以大写字母开头,例如“and”和“And”是不同的单词。

import codewars_test as test

import re

except_word = {"a", "the", "on", "at", "of", "upon", "in", "as",
               "A", "The", "On", "At", "Of", "Upon", "In", "As", ""
               }


def word_count(s):
    all_word = re.sub(r'([^A-Za-z]+)', r' ', s).split(' ')
    cnt = 0
    for word in all_word:
        if word in except_word:
            continue
        else:
            cnt += 1
    return cnt


if __name__ == '__main__':
    test.assert_equals(word_count("hello there"), 2)
    test.assert_equals(word_count("hello there and a hi"), 4)
    test.assert_equals(word_count("I'd like to say goodbye"), 6)
    test.assert_equals(word_count("Slow-moving user6463 has been here"), 6)
    test.assert_equals(word_count("%^&abc!@# wer45tre"), 3)
    test.assert_equals(word_count("abc123abc123abc"), 3)
    test.assert_equals(word_count("Really2374239847 long ^&#$&(*@# sequence"), 3)

    long_text = r"""
            I’d been using my sphere as a stool. I traced counterclockwise circles on it with my fingertips and it shrank until I could palm it. My bolt had shifted while I’d been sitting. I pulled it up and yanked the pleats straight as I careered around tables, chairs, globes, and slow-moving fraas. I passed under a stone arch into the Scriptorium. The place smelled richly of ink. Maybe it was because an ancient fraa and his two fids were copying out books there. But I wondered how long it would take to stop smelling that way if no one ever used it at all; a lot of ink had been spent there, and the wet smell of it must be deep into everything.
            """

    test.assert_equals(word_count(long_text), 112)

现在我的函数可以生成基本测试的正确答案

来自服务器的随机测试未通过,与所有其他随机测试一样,结果总是多 1 个单词

st = """R;!GV9sZrD 5x=jncajkU Z#0qd' rR"8oeAy:; IO$"EhYI), NG("Cy28 +ix>i kq&rV/ ',Sl[PL~ Ae/[< \-T<:/ D-$W9p5,Qh yF)DFS XFR@x{8[. L+(]M-cW J+i~E =g5B"1rGoM @c*ByGCt _2amHl =Y8f*E) P_F}01o t}1q!+A@| B3"S;; dP..'U >FqS>4D(S %rf/# =jB$+F<M G$:|K"rJn m92Fkv I^xuZ )s@~R65W x(;~$DWj,J auRs^b S*H-Y]FV T~PS*F8} OA<<qt n]`wK:ED }^B)]! kD[&y uwb_1nY&(F 7_K"c\T 7G0](BA3 ?UpyrP"Y5) @rTKasu`J uk,HFb^{ }IE|N L>$lwGtd dfQ;[.O}zY S`y/$ <\pzJ2\( S+g0IZ /9QKZ29BC jy3b%0KZb~ Eb"192nt Q8^[| <EZ'oN K8~uLh>Z?N KF*8,s3u C<4lxn%> sFARC r_s?Q~,)9y W)q=oQK]cK ?n^k}qwECZ I#@9CF "T1w@ &j(QfUio :O"m~{ <\&rxFVI !k9(Eq} Ezhc_="""
Правильный ответ с сайта 159 у меня 160

st = """"&p!2g Nz"E{ 0=cfc;*^{U bPf<:n/ 1>?j!#+|Ww kQsGs}] }48%s W?Kk4RdIK+ WCtv~_ t_.q4-! #%~=K /[r/,t#Se 1:fyl: KZx,o9 2*W[hp>X0" L0u0oFBY @"wHc bgRTj ,~OXJWt.Z jY*k2S:L x/jF>_#QRX Va(A/3 {4f32ZC|s 'f1MsZRK s+y@i lU<keS4! c!sA&i| rS'+-oNOj ']OzY?e# NDU!Sd) k5z#!n<4 p]kD,X5 c}aY|1"J ^KF}4sl ailA6Uw>$8 W{aA5ON~} 2}<C"p T&+h?\Y {Y9E$;4/.k GDYYXcK` ][h!l>*o!` &0?ST%v @+9T'-0F5U {Wh&ye:7 9CF0"n3 Nw/,L=+qK :jTZ;b,. wb=i_d5F i:(WF1 e;>9`#ToF ~z~-/ <uN], jc0[p$f3I r9M;Vm|%p 0)0<PS< CUtg2Gl@$ nnL]'O?N>C O9`YU 730|Y K!Sx,JL""""

服务器的答案是 134 - 我有 135 - 对于所有随机测试都是如此

请解释一下,这是什么原因?就好像我忘记删除某些东西(我不明白是什么)。

python-3.x
  • 1 1 个回答
  • 24 Views

1 个回答

  • Voted
  1. Best Answer
    Алексей Р
    2024-02-16T12:41:46Z2024-02-16T12:41:46Z

    将所有内容转换为相同(例如小写)大小写,然后进行比较。

    import re
    
    except_word = {"a", "the", "on", "at", "of", "upon", "in", "as",
                   "A", "The", "On", "At", "Of", "Upon", "In", "As", ""
                   }
    except_word = set(x.lower() for x in except_word) # здесь
    
    def word_count(s):
        all_word = re.sub(r'([^A-Za-z]+)', r' ', s).split()
        cnt = 0
        for word in all_word:
            if word.lower() in except_word: # и здесь
                continue
            else:
                cnt += 1
        return cnt
    
    
    if __name__ == '__main__':
        st = """R;!GV9sZrD 5x=jncajkU Z#0qd' rR"8oeAy:; IO$"EhYI), NG("Cy28 +ix>i kq&rV/ ',Sl[PL~ Ae/[< \-T<:/ D-$W9p5,Qh yF)DFS XFR@x{8[. L+(]M-cW J+i~E =g5B"1rGoM @c*ByGCt _2amHl =Y8f*E) P_F}01o t}1q!+A@| B3"S;; dP..'U >FqS>4D(S %rf/# =jB$+F<M G$:|K"rJn m92Fkv I^xuZ )s@~R65W x(;~$DWj,J auRs^b S*H-Y]FV T~PS*F8} OA<<qt n]`wK:ED }^B)]! kD[&y uwb_1nY&(F 7_K"c\T 7G0](BA3 ?UpyrP"Y5) @rTKasu`J uk,HFb^{ }IE|N L>$lwGtd dfQ;[.O}zY S`y/$ <\pzJ2\( S+g0IZ /9QKZ29BC jy3b%0KZb~ Eb"192nt Q8^[| <EZ'oN K8~uLh>Z?N KF*8,s3u C<4lxn%> sFARC r_s?Q~,)9y W)q=oQK]cK ?n^k}qwECZ I#@9CF "T1w@ &j(QfUio :O"m~{ <\&rxFVI !k9(Eq} Ezhc_="""
    
        print(word_count(st))
    
        st = """"&p!2g Nz"E{ 0=cfc;*^{U bPf<:n/ 1>?j!#+|Ww kQsGs}] }48%s W?Kk4RdIK+ WCtv~_ t_.q4-! #%~=K /[r/,t#Se 1:fyl: KZx,o9 2*W[hp>X0" L0u0oFBY @"wHc bgRTj ,~OXJWt.Z jY*k2S:L x/jF>_#QRX Va(A/3 {4f32ZC|s 'f1MsZRK s+y@i lU<keS4! c!sA&i| rS'+-oNOj ']OzY?e# NDU!Sd) k5z#!n<4 p]kD,X5 c}aY|1"J ^KF}4sl ailA6Uw>$8 W{aA5ON~} 2}<C"p T&+h?\Y {Y9E$;4/.k GDYYXcK` ][h!l>*o!` &0?ST%v @+9T'-0F5U {Wh&ye:7 9CF0"n3 Nw/,L=+qK :jTZ;b,. wb=i_d5F i:(WF1 e;>9`#ToF ~z~-/ <uN], jc0[p$f3I r9M;Vm|%p 0)0<PS< CUtg2Gl@$ nnL]'O?N>C O9`YU 730|Y K!Sx,JL"""
    
        print(word_count(st))
    
    159
    134
    
    • 1

相关问题

  • 在 Linux 服务器上运行 Django 项目

  • 当您单击kivy设置中的关闭按钮时,如何调用更新应用程序本身的gui的方法

  • 制作一个按钮处理程序来调用该函数。那些。单击按钮时,该函数应运行。遥控机器人

  • 如何正确地将列表项添加到 Word 表格中?

  • 内容解析(Python、BeautifulSoup、请求)

  • 脚本不适用于 BeautifulSoup 和请求 (Python3x)

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5