У меня есть задание написать код для подсчета слов в строке. Я еще не изучил разделение, поэтому не могу его использовать. Я могу использовать только функции, циклы и условные выражения. Он намеренно добавил три лишних пробела к строке, и мне нужно выяснить, как заставить ее трактовать ее как один. Я застрял. Помогите!
def wordCount(myString):
try:
spaceCount = 0
char = ""
for i in myString:
char += i
if char == " ":
spaceCount == 1
pass
elif char == " ":
spaceCount += 1
return spaceCount+1
except:
return "Not a string"
print("Word Count:", wordCount("Four words are here!"))
print("Word Count:", wordCount("Hi David"))
print("Word Count:", wordCount(5))
print("Word Count:", wordCount(5.1))
print("Word Count:", wordCount(True))
2 ответа
Этот вид работ:
def wordCount(myString):
try:
words = 0
word = ''
for l in myString :
if ( l == ' ' and word != '' ) or ( l == myString[-1] and l != ' ' ) :
words += 1
word = ''
elif l != ' ' :
word += l
return words
except Exception as ex :
return "Not a string"
print("Word Count:", wordCount("Four words are here!"))
print("Word Count:", wordCount("Hi David"))
print("Word Count:", wordCount(5))
print("Word Count:", wordCount(5.1))
print("Word Count:", wordCount(True))
Результат:
'Word Count:', 4
'Word Count:', 2
'Word Count:', 'Not a string'
'Word Count:', 'Not a string'
'Word Count:', 'Not a string'
def wordCount(s):
try:
s=s.strip()
count = 1
for i,v in enumerate(s):
#scan your string in pair of 2 chars. If there's only one leading space, add word count by 1.
if (len(s[i:i+2]) - len(s[i:i+2].lstrip()) == 1):
count+=1
return count
except:
return "Not a string"
print("Word Count:", wordCount("Four words are here! "))
print("Word Count:", wordCount("Hi David"))
print("Word Count:", wordCount(5))
print("Word Count:", wordCount(5.1))
print("Word Count:", wordCount(True))
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.