Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33

Не могу найти ошибку, код работает, но некоректно!

17.07.2021, 16:49. Показов 702. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка текста (text) я ее разбиваю на слова, затем в цикле составляю новую строку (str_1) с условием что, её длина не превышает 42 символов. Всё вроде бы работает, но почему то первый элемент списка (text[0]) - 'Человек' получает длину 14 символов из за чего по факту строка получается короче

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
str_1 = ''
 
text = 'Человек спрашивает у Бога: "Что мне делать?", а Бог отвечает ему:'
 
text = text.split()
 
print(len(str_1),'/',len(text))
print('')
i = 0
while len(str_1)<42:
if len(str_1) == 0:
str_1 = text[i] + ' '
i +=1
print(text[0])
print(len(text[0]))
else:
str_1= str_1 + text[i] + ' '
i +=1
Получаю /

(0, '/', 67)
Человек
14

Хотя в слове человек 7 символов
Миниатюры
Не могу найти ошибку, код работает, но некоректно!  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.07.2021, 16:49
12
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38189 / 21124 / 4307
Регистрация: 12.02.2012
Сообщений: 34,730
Записей в блоге: 14
17.07.2021, 17:09
Каша...

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
str_1 = ''
 
text = 'Человек спрашивает у Бога: "Что мне делать?", а Бог отвечает ему:'
 
line=text.split(' ')
 
i=0
while True:
    if len(str_1)+len(line[i]+1)<42:
        str_1=str_1+line[i]+' '
    else:
        break
    i+=1
    
print(str_1)    
print(line[0])
print(len(line[0]))
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
17.07.2021, 17:11
may123, "Камо грядеши" друг, чё то я не пойму, а где ты функцию то запускаешь. Твой цикл на первый взгляд вообще не должен отрабатывать, что то ты от нас скрыл, открывай все карты.
1
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33
17.07.2021, 17:15  [ТС]
Код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
str_1 = ''
 
text = 'Человек спрашивает у Бога: "Что мне делать?", а Бог отвечает ему:'
 
line=text.split(' ')
 
i=0
while True:
    if len(str_1)+len(line[i]+1)<42:
        str_1=str_1+line[i]+' '
    else:
        break
    i+=1
    
print(str_1)    
print(line[0])
print(len(line[0]))
Ругается на то что:

if len(str_1)+len(line[i]+1)<42:
TypeError: cannot concatenate 'str' and 'int' objects
хотя оба должны быть int
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38189 / 21124 / 4307
Регистрация: 12.02.2012
Сообщений: 34,730
Записей в блоге: 14
17.07.2021, 17:17
may123, да это я поправил неверно. Так:

Python
1
if len(str_1)+len(line[i])+1<42:
Полный код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
str_1 = ''
 
text = 'Человек спрашивает у Бога: "Что мне делать?", а Бог отвечает ему:'
 
line=text.split(' ')
i=0
while True:
    if len(str_1)+len(line[i])+1<42:
        str_1=str_1+line[i]+' '
    else:
        break
    i+=1
    
print(str_1)    
print(line[0])
print(len(line[0]))
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
17.07.2021, 17:17
may123, скобочку подправь.
0
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33
17.07.2021, 17:19  [ТС]
Хотя я полял, что в моей КАШЕ print(text[0]) выводиться в виде '\xd0\xa7\xd0\xb5\xd0\xbb\xd0\xbe\xd0\xb 2\xd0\xb5\xd0\xba' отсюда вероятней и 14 символов. Но как это исправить незнаю
0
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33
17.07.2021, 17:22  [ТС]
Забавно но ваш код который НЕ КАША выдал строчку ещё короче, что свидетельствует о том что МОЯ КАША эффективнее
Миниатюры
Не могу найти ошибку, код работает, но некоректно!  
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
17.07.2021, 17:23
may123, не надо ничего исправлять достаточно понять, что это символы в другой кодировке.
0
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33
17.07.2021, 17:25  [ТС]
Я это понимаю, но питон видимо считает в другой кодировке, отсюда и получаются 14 символов вместо 7
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38189 / 21124 / 4307
Регистрация: 12.02.2012
Сообщений: 34,730
Записей в блоге: 14
17.07.2021, 17:28
may123, КАША не может быть эффективной. См. картинку:
Миниатюры
Не могу найти ошибку, код работает, но некоректно!  
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
17.07.2021, 17:30
may123, как говорил Сенека: " Чаще всего не вещь не качественная, а не верны наши суждения о ней".
1
0 / 0 / 0
Регистрация: 28.04.2017
Сообщений: 33
17.07.2021, 17:33  [ТС]
Странно я, нашёл решение и получил нужный результат но только таким способом
Миниатюры
Не могу найти ошибку, код работает, но некоректно!  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2021, 17:33
Помогаю со студенческими работами здесь

Не работает программа. не могу найти ошибку
Задача Описать функцию или процедуру, которая находит сумму последнего и предпоследнего элементов списка, содержащего не менее двух...

Не работает слайдер. Не могу найти ошибку
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,...

Не могу найти ошибку, работает не правильно
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &quot;iostream&quot; using namespace std; ...

Не могу найти ошибку, не работает программа
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; main() { float S, K, ak, x, k; int factorial(int k); { if (k==0)...

Не работает программа, не могу найти ошибку
Дан одномерный массив А неупорядоченных целых чисел. Назовем инверсией два стоящих рядом элемента, когда левый элемент больше правого. Из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru