Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 需要弄清楚为什么字符串函数不是';t在我的条件句中执行_Python_String_Function_Count_Conditional Statements - Fatal编程技术网

Python 需要弄清楚为什么字符串函数不是';t在我的条件句中执行

Python 需要弄清楚为什么字符串函数不是';t在我的条件句中执行,python,string,function,count,conditional-statements,Python,String,Function,Count,Conditional Statements,编写一个名为“string\u type”的函数,该函数接受一个 参数并确定它是什么类型的字符串 如果字符串为空,则返回“empty” 如果字符串是单个字符,则返回“character” 如果字符串表示单个单词,则返回“word”。 如果字符串没有空格,则为单个单词 如果字符串是一个完整的句子,则返回“句子”。 如果字符串包含空格,则它是一个句子,但最多包含一个句点 如果字符串是段落,则返回“段落”。这个 如果字符串同时包含空格和空格,则为段落 多个句点(我们不担心其他标点符号) 如果字符串是多

编写一个名为“string\u type”的函数,该函数接受一个 参数并确定它是什么类型的字符串

如果字符串为空,则返回“empty”

如果字符串是单个字符,则返回“character”

如果字符串表示单个单词,则返回“word”。 如果字符串没有空格,则为单个单词

如果字符串是一个完整的句子,则返回“句子”。 如果字符串包含空格,则它是一个句子,但最多包含一个句点

如果字符串是段落,则返回“段落”。这个 如果字符串同时包含空格和空格,则为段落 多个句点(我们不担心其他标点符号)

如果字符串是多个段落,则返回“page”。 如果字符串包含任何换行符,则该字符串为段落 字符(“\n”)

我可以使用Python 3的内置字符串函数(例如,len、count等)

我已经能够在不同的条件下编写函数。起初,我试着按照问题中列出的顺序做条件,但是,我没有得到与我的测试用例相匹配的答案。然后我颠倒了顺序,从一个条件开始检查字符串是否是页面,然后是段落,等等

def string_type(a_string):
    if a_string.count("\n") >= 1:
        return "page"
    elif a_string.count("") >= 1 and a_string.count(".") > 1:
        return "paragraph"
    elif len(a_string) > 1 and a_string.count("") > 1 and a_string.count(".") == 1:
        return "sentence"
    elif len(a_string) > 1 and a_string.count("") == 0:
        return "word"
    elif len(a_string) == 1:
        return "character"
    else:
        return "empty"
下面是一些测试函数的代码行。 您可以更改变量的值以测试 具有不同输入的函数

如果您的功能正常工作,这将最初打印 运行当前代码时,会得到以下结果:

#empty
#character
#sentence (instead of word)
#empty (instead of sentence)
#paragraph
#page

我一直在调整我的单词和句子条件,但是,我还没有弄明白如何纠正。如果您能解释我做错了什么以及如何修复,我们将不胜感激。

您在字符串中搜索空格的位置是错误的

elif a_string.count("") >= 1
这将尝试在输入中找到空的sting
”,它显然会找到

该部分(和其他部分)应为:

elif a_string.count(" ") >= 1

请注意,它是
-空格

在字符串中搜索空格的位置是错误的

elif a_string.count("") >= 1
这将尝试在输入中找到空的sting
”,它显然会找到

该部分(和其他部分)应为:

elif a_string.count(" ") >= 1

请注意,它是
-空格

谢谢你对空白处的澄清,这确实会有所不同。当我为空格重新编写代码时,除了我的句子之外,所有的东西都可以工作,而不是为一个句子得到一个句子,我得到的是空的。我很难理解为什么条件不能执行。你说的是第四个例子,对吗?那个“句子”以
结尾不是一个
-这就是为什么你会得到空的,我一开始就错过了。我纠正了我的条件,现在一切都正常了。再次感谢您的指导!谢谢你对空白处的澄清,这确实会有所不同。当我为空格重新编写代码时,除了我的句子之外,所有的东西都可以工作,而不是为一个句子得到一个句子,我得到的是空的。我很难理解为什么条件不能执行。你说的是第四个例子,对吗?那个“句子”以
结尾不是一个
-这就是为什么你会得到空的,我一开始就错过了。我纠正了我的条件,现在一切都正常了。再次感谢您的指导!