Проверьте, находится ли пространство в строке

toggleDrawer - это функция, которая возвращает функцию. Поэтому вместо const closeDrawer = () => props.toggleDrawer('left', false) попробуйте const closeDrawer = props.toggleDrawer('left', false).

28
задан omar 14 January 2014 в 16:55
поделиться

8 ответов

== имеет приоритет над 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
66
ответ дан 28 November 2019 в 02:23
поделиться
# 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("")
0
ответ дан 28 November 2019 в 02:23
поделиться

Напишите if " " in word: вместо if " " in word == True:

Пояснение:

  • В Python, например, a < b < c эквивалентно (a < b) и (b < c).
  • То же самое справедливо для любой цепочки операторов сравнения, включающей in!
  • Поэтому ' ' в w == True эквивалентно (' ' в w) и (w == True), что не то, что вы хотите.
15
ответ дан 28 November 2019 в 02:23
поделиться

Вы можете попробовать это, и если он найдет любое пространство, то вернет позицию, где находится первое пространство.

if mystring.find(' ') != -1:
    print True
else:
    print False
1
ответ дан 28 November 2019 в 02:23
поделиться

Есть много способов сделать это:

t = s.split(" ")
if len(t) > 1:
  print "several tokens"

Чтобы убедиться, что он соответствует любому типу пространства, вы можете использовать модуль re:

import re
if re.search(r"\s", your_string):
  print "several words"
11
ответ дан 28 November 2019 в 02:23
поделиться
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, чтобы ваш код выглядел как код.

0
ответ дан 28 November 2019 в 02:23
поделиться

Вы можете сказать word.strip(" "), чтобы удалить любые ведущие/конечные пробелы из строки - вы должны сделать это перед оператором if. Таким образом, если кто-то введет ввод типа " test ", ваша программа будет работать.

При этом if " " в word: будет определять, содержит ли строка пробелы. Если это не работает, не могли бы вы предоставить больше информации?

0
ответ дан 28 November 2019 в 02:23
поделиться

Используйте это:

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
0
ответ дан 28 November 2019 в 02:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: