所以我是编程(和python)的新手,如果字符串有零个或一个点字符(“。”字符),我必须使这个程序返回True,如果字符串包含两个或多个点,则返回False
这是我现在所拥有的,我无法让它为我工作,请纠正我,如果我错了,谢谢!
def check_dots(text):
text = []
for char in text:
if '.' < 2 in text:
return True
else:
return False
答案 0 :(得分:1)
使用内置Python函数list.count()
if text.count('.') < 2:
return True
如果不是if-else
语句,那么它可以更短
return text.count('.') < 2
此外,您的功能有一些错误。您需要做的就是
def check_dots(text):
return text.count('.') < 2
答案 1 :(得分:1)
正确和较短的版本将是:
return text.count('.') <= 1
答案 2 :(得分:1)
Python有一个名为count()
您可以执行以下操作。
if text.count('.') < 2: #it checks for the number of '.' occuring in your string
return True
else:
return False
快捷方式是:
return text.count('.')<2
让我们分析一下上述陈述。
在这一部分,text.count('.')<2
:它基本上说&#34;我将检查字符串中出现少于两次的句点,并根据出现的次数返回True或False。&#34;因此,如果text.count(&#39;。&#39;)为3,那么3<2
将成为False
。
False
。
x = input("Enter a string.")
return len(x)>7
代码段len(x)>7
表示程序会检查x
的长度。让我们假装字符串长度为9.在这种情况下,len(x)
将评估为9,然后评估为9>7
,即为真。
答案 3 :(得分:0)
我现在将分析你的代码。
def check_dots(text):
text = [] ################ Don't do this. This makes it a list,
# and the thing that you are trying to
# do involves strings, not lists. Remove it.
for char in text: #not needed, delete
if '.' < 2 in text: #I see your thinking, but you can use the count()
#to do this. so -> if text.count('.')<2: <- That
# will do the same thing as you attempted.
return True
else:
return False