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支票不好
可能是我在其中做错了什么
您在这里有几个问题:
第一个是在开始时使用Text(顺便说一句,不是标准的)与text。这应该可以帮助您很多。
第二个是您实际上没有使用get_string方法。现在,这可能对您有效;我只是将它扔进Juypter笔记本中,因为我想像REPL一样使用它。但是,假设没有,让我们简单地逐步完成它。
Conda环境或带有CS50的pip安装并运行:
运行正常,没有错误。好。现在是第一个块:
letter=0
sentence=0
word=0
Text = get_string("Text: ")
(因为我正在使用笔记本电脑,所以评估为:
文本:无
现在,在cs50库中可能要使用一些特定的东西,但是我使用了输入-并将Text更改为小写。
但是您走在正确的道路上。