当 main 是预期的,但在 python 中检测到不是预期的时候怎么办?
What to do when main is intended, yet being detected not intended in python?
在python的一个程序中,我在程序的开头定义了main函数,并在最后执行。当我编译代码时,显示了一个奇怪的语法错误(检查附件)...
这是代码:
from cs50 import get_string
def main():
s = get_string("Text: ")
words = countw(s)
letters = countl(s)
sentences = counts(s)
l = (letters/words) * 100
s = (sentences/words) * 100
index = (0.0588 * 1) - (0.296 * s) - 15.8
i = round(index)
print(words)
print(letters)
if i < i:
print("Before Grade 1")
elif i > 16:
print("Grade 16+")
else:
print("Grade " + str(i))
def countw(string):
s = len(string.split())
return s
def countl(string):
s = len(string)
return s
def counts(string):
#todo
main()
这是错误:
ss@comp:/mnt/c/Users/comp/desktop$ python3 readability.py
File "readability.py", line 37
main()
^
IndentationError: expected an indented block
这是因为您的 counts() 函数为空。
解释器认为您对 main() 的调用是该函数的一部分,因此会发送错误。
尝试注释掉您的 def counts(string):
行:
#def counts(string):
#todo
正如@quamrana 所指出的,当您调用 counts 函数时,这会导致错误。因此,您应该对 sentences 变量的值进行硬编码,直到完成对 counts() 的编码。
你也可以只在你的函数中写一个 return 语句,return 将你想要的值除以 return 当你完成编码时,像这样:
def counts(string):
#todo
return 10
(假设 10 是您的句子变量的合理值)
在python的一个程序中,我在程序的开头定义了main函数,并在最后执行。当我编译代码时,显示了一个奇怪的语法错误(检查附件)...
这是代码:
from cs50 import get_string
def main():
s = get_string("Text: ")
words = countw(s)
letters = countl(s)
sentences = counts(s)
l = (letters/words) * 100
s = (sentences/words) * 100
index = (0.0588 * 1) - (0.296 * s) - 15.8
i = round(index)
print(words)
print(letters)
if i < i:
print("Before Grade 1")
elif i > 16:
print("Grade 16+")
else:
print("Grade " + str(i))
def countw(string):
s = len(string.split())
return s
def countl(string):
s = len(string)
return s
def counts(string):
#todo
main()
这是错误:
ss@comp:/mnt/c/Users/comp/desktop$ python3 readability.py
File "readability.py", line 37
main()
^
IndentationError: expected an indented block
这是因为您的 counts() 函数为空。
解释器认为您对 main() 的调用是该函数的一部分,因此会发送错误。
尝试注释掉您的 def counts(string):
行:
#def counts(string):
#todo
正如@quamrana 所指出的,当您调用 counts 函数时,这会导致错误。因此,您应该对 sentences 变量的值进行硬编码,直到完成对 counts() 的编码。
你也可以只在你的函数中写一个 return 语句,return 将你想要的值除以 return 当你完成编码时,像这样:
def counts(string):
#todo
return 10
(假设 10 是您的句子变量的合理值)