Ответ 1
Почему бы не использовать str.isupper();
In [2]: word = 'asdf'
In [3]: word[0].isupper()
Out[3]: False
In [4]: word = 'Asdf'
In [5]: word[0].isupper()
Out[5]: True
Я хочу создать функцию, которая проверяет, находится ли первая буква строки в верхнем регистре. Это то, к чему я придумал:
def is_lowercase(word):
if word[0] in range string.ascii_lowercase:
return True
else:
return False
Когда я пытаюсь запустить его, я получаю эту ошибку:
if word[0] in range string.ascii_lowercase
^
SyntaxError: invalid syntax
Может ли кто-нибудь взглянуть и сообщить, что я делаю неправильно?
Почему бы не использовать str.isupper();
In [2]: word = 'asdf'
In [3]: word[0].isupper()
Out[3]: False
In [4]: word = 'Asdf'
In [5]: word[0].isupper()
Out[5]: True
Это встроенное для строк:
word = "Hello"
word.istitle() # True
но обратите внимание, что str.istitle
выглядит, является ли каждое слово в строке заголовком, поэтому это может дать вам сюрприз:
"Hello world".istitle() # returns False!
Если вы просто хотите проверить самый первый символ строки, используйте это:
word = "Hello world"
word[0].isupper() # True
Синтаксическая ошибка связана с тем, что вам нужны скобки:
range(string.ascii_lowercase)
Но на самом деле вы не должны использовать диапазон. Это так же просто, как:
if word[0] in string.ascii_lowercase