Size: a a a

Dev Seagulls Chat

2021 February 03

A

Abdu in Dev Seagulls Chat
Abdu
на самом деле тебе будет на много полезнее сейчас посимвольно обходить строку, проверять является ли она буквой, потом проверять если ли до неё пробел или она первая в строке и тогда делать её заглавной
но беда в том, capitalize не будет работать для символа строки, надо заменять элемент строки склеиванием части до неё, заглавной буквой и части после
источник

A

Abdu in Dev Seagulls Chat
есть метод replace, но он заменяет первое вхождение указанного символа, а не по индексу
источник

ER

E Rubin in Dev Seagulls Chat
Abdu
на самом деле тебе будет на много полезнее сейчас посимвольно обходить строку, проверять является ли она буквой, потом проверять если ли до неё пробел или она первая в строке и тогда делать её заглавной
und_str = input()
for i in range(len(und_str) - 1):
   if i == 0:
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = edit_char + und_str[i+1:len(und_str)]
   if und_str[i-1] == ' ':
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = und_str[0:i] + edit_char + und_str[i+1:len(und_str)]
print(und_str)
источник

A

Abdu in Dev Seagulls Chat
E Rubin
und_str = input()
for i in range(len(und_str) - 1):
   if i == 0:
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = edit_char + und_str[i+1:len(und_str)]
   if und_str[i-1] == ' ':
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = und_str[0:i] + edit_char + und_str[i+1:len(und_str)]
print(und_str)
зачем тебе эти ord'ы
источник

A

Abdu in Dev Seagulls Chat
upper(x) возвращает заглавную
источник

A

Abdu in Dev Seagulls Chat
а хотя так тоже норм на самом деле
источник

ER

E Rubin in Dev Seagulls Chat
Abdu
upper(x) возвращает заглавную
upper(und_str[i]) такой синтаксис?
источник

A

Abdu in Dev Seagulls Chat
E Rubin
und_str = input()
for i in range(len(und_str) - 1):
   if i == 0:
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = edit_char + und_str[i+1:len(und_str)]
   if und_str[i-1] == ' ':
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = und_str[0:i] + edit_char + und_str[i+1:len(und_str)]
print(und_str)
а тут что не так?
источник

A

Abdu in Dev Seagulls Chat
E Rubin
upper(und_str[i]) такой синтаксис?
да вроде
источник

ER

E Rubin in Dev Seagulls Chat
Abdu
а тут что не так?
тут все хорошо мне была интересна реализация от опытных чуваков
источник

ER

E Rubin in Dev Seagulls Chat
и чувих
источник

A

Abdu in Dev Seagulls Chat
E Rubin
тут все хорошо мне была интересна реализация от опытных чуваков
списочное выражение, сплит, джоин
источник

A

Abdu in Dev Seagulls Chat
источник

A

Abdu in Dev Seagulls Chat
E Rubin
und_str = input()
for i in range(len(und_str) - 1):
   if i == 0:
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = edit_char + und_str[i+1:len(und_str)]
   if und_str[i-1] == ' ':
       edit_char = ord(und_str[i])
       if edit_char in range(97, 123):
           edit_char = chr(ord(und_str[i])-32)
           und_str = und_str[0:i] + edit_char + und_str[i+1:len(und_str)]
print(und_str)
ты тут последний символ не обрабатываешь
источник

A

Abdu in Dev Seagulls Chat
Abdu
ты тут последний символ не обрабатываешь
вне цикла проверь что последний символ это буква и предпоследний пробел
источник

ER

E Rubin in Dev Seagulls Chat
Abdu
вне цикла проверь что последний символ это буква и предпоследний пробел
да я всегда путаю этот range
источник

ER

E Rubin in Dev Seagulls Chat
число указанное не входит в промежуток
источник

A

Abdu in Dev Seagulls Chat
E Rubin
да я всегда путаю этот range
range создает список с числами из указанного диапазона, без последнего числа
источник

A

Abdu in Dev Seagulls Chat
range(5) = [0, 1, 2, 3, 4]
источник

ER

E Rubin in Dev Seagulls Chat
Спасибо
источник