toggleDrawer
- это функция, которая возвращает функцию. Поэтому вместо const closeDrawer = () => props.toggleDrawer('left', false)
попробуйте const closeDrawer = props.toggleDrawer('left', false)
.
==
имеет приоритет над in
, поэтому вы фактически проверяете word == True
.
>>> w = 'ab c'
>>> ' ' in w == True
1: False
>>> (' ' in w) == True
2: True
Но вам совсем не нужно == True
. if
требует [что-то, что оценивается в True или False], а ' ' в word
будет оцениваться в true или false. Таким образом, if ' ' в word: ...
будет просто отлично:
>>> ' ' in w
3: True
# The following would be a very simple solution.
print("")
string = input("Enter your string :")
noofspacesinstring = 0
for counter in string:
if counter == " ":
noofspacesinstring += 1
if noofspacesinstring == 0:
message = "Your string is a single word"
else:
message = "Your string is not a single word"
print("")
print(message)
print("")
Напишите if " " in word:
вместо if " " in word == True:
Пояснение:
a < b < c
эквивалентно (a < b) и (b < c)
. in
! ' ' в w == True
эквивалентно (' ' в w) и (w == True)
, что не то, что вы хотите. Вы можете попробовать это, и если он найдет любое пространство, то вернет позицию, где находится первое пространство.
if mystring.find(' ') != -1:
print True
else:
print False
Есть много способов сделать это:
t = s.split(" ")
if len(t) > 1:
print "several tokens"
Чтобы убедиться, что он соответствует любому типу пространства, вы можете использовать модуль re:
import re
if re.search(r"\s", your_string):
print "several words"
word = ' '
while True:
if ' ' in word:
word = raw_input("Please enter a single word: ")
else:
print "Thanks"
break
Это более идиоматичный python - сравнение с True или False не нужно - просто используйте значение, возвращаемое выражением ' ' в word
.
Также не нужно использовать pastebin для такого маленького фрагмента кода - просто скопируйте код в свой пост и используйте маленькую кнопку 1s и 0s, чтобы ваш код выглядел как код.
Вы можете сказать word.strip(" ")
, чтобы удалить любые ведущие/конечные пробелы из строки - вы должны сделать это перед оператором if
. Таким образом, если кто-то введет ввод типа " test "
, ваша программа будет работать.
При этом if " " в word:
будет определять, содержит ли строка пробелы. Если это не работает, не могли бы вы предоставить больше информации?
Используйте это:
word = raw_input("Please enter a single word : ")
while True:
if " " in word:
word = raw_input("Please enter a single word : ")
else:
print "Thanks"
break