首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cs50可读性pset6 python这段代码应该计算单词,句子和字母的数量,但它没有

cs50可读性pset6 python这段代码应该计算单词,句子和字母的数量,但它没有
EN

Stack Overflow用户
提问于 2020-03-03 23:08:33
回答 6查看 5.5K关注 0票数 1
代码语言:javascript
复制
from cs50 import get_string
letter=0
sentence=0
word=0
text = get_string("Text: ")
n = len(text)
for i in range(n):
    if text[i].isalnum()==True:
        letter=letter+1
for i in range(n):
    if text[i].isspace()==True and text[i+1].isalnum()==True:
        word=word+1
for i in range(n):
    if text[i]=="?" or text[i]=="." or text[i]=="!":
        sentence=sentence+1
grade = round (0.0588 * ((100 * letter) / word) - 0.296 * ((100 * sentence) / word) - 15.8)
if grade<1:
    print("Before Grade 1")
elif grade < 16:
    print(f"Grade {grade}")
else :
    print("Grade 16+");

https://submit.cs50.io/check50/d3897b249b2ca6ea937d023c25c1607af52ea5cd检查是错误的

也许我在其中做了错误的事情

EN

回答 6

Stack Overflow用户

发布于 2020-03-04 02:44:03

这里有几个问题:

第一个是在开头使用文本(顺便说一下,不是标准的) vs文本。这应该会对你有很大帮助。

第二个问题是您实际上并没有使用get_string方法。现在,这可能适用于您;我只是把它放到Juypter Notebook中,因为我想像使用REPL一样使用它。但是,假设没有,让我们简单介绍一下。

使用cs50安装Conda环境或pip,然后运行:

运行正常,没有错误。好的。现在,第一个块:

代码语言:javascript
复制
letter=0
sentence=0
word=0
Text = get_string("Text: ")

这(因为我使用的是笔记本电脑)的计算结果是:

文本:无

现在,您可能要在cs50库中使用一些特定的东西,但我使用的是input --并将文本更改为小写。

但你走在正确的道路上。

票数 1
EN

Stack Overflow用户

发布于 2020-03-04 07:21:49

程序统计单词的方式有几个问题。它是通过计算空格来做到这一点的(好计划),但是

  1. 它将如何计算最后一个单词?它不会(因为它后面没有空格)。您可以考虑将word初始化为1(而不是0)。
  2. 是否会正确计算以下段落中的单词?再说一次,没有。此if text[i].isspace()==True and text[i+1].isalnum()==True:仅计算后跟a-z、A-Z或0-9的空格。在这种情况下,它不会计算"Alice“后面的空格,因此字数统计是错误的。

认为爱丽丝“没有照片或对话?”

附注:在i循环中访问i + 1通常是一个非常糟糕的想法;当我达到最大值时,它将超出范围。它没有在测试中失败,因为没有测试的文本以空格结尾。如果希望看到它失败,请输入以空格结尾的文本。

票数 0
EN

Stack Overflow用户

发布于 2020-03-20 16:17:46

1)将单词初始化为1;2)添加以下内容以假定字母是任何小写/大写字符: for i in range(n):if texti.isalnum()或texti.isupper()或texti.islower() == True: letter = letter+1 3) Removed word count:== texti+1.isalnum()==True:

现在你的代码是10/10!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60510184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档