Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2018, 08:30   #1
РезедаМуратова
Пользователь
 
Регистрация: 05.12.2017
Сообщений: 69
По умолчанию Python, списки

Добрый день!
Помогите пожалуйста.
Задание:
Дана строчка s="This!Is!A!Test". Создать список состоящий из отдельных слов ["This "Is "A "Test"].
В общем код:
Код:
n=input("This! Is! A! Test")
a = []
for i in range(n) :
    if i=="!":
        continue
        print(i, end="")
        a.append(a)
print(a)
выводит:
This! Is! A! Test
но по заданию тут ! знака не должно быть.
Что не правильно, или я не правильно использовала цикл?
РезедаМуратова вне форума Ответить с цитированием
Старый 11.09.2018, 08:40   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://blog.algoprog.ru/how-to-debug-small-programs/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.09.2018, 09:04   #3
РезедаМуратова
Пользователь
 
Регистрация: 05.12.2017
Сообщений: 69
По умолчанию

Спасибо, дело не сдвинулось.
Даже если так он не рассматривает дальнейший код, просто выводит:
Код:
lst=["This! Is! A! Test"]
for i in lst :
    if i=="!":
        continue
        print(i, end="")
        lst.append(lst)
print(lst)
Выводит:
['This! Is! A! Test']
Вот почему этот знак остается?
РезедаМуратова вне форума Ответить с цитированием
Старый 11.09.2018, 09:12   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Добавьте отладочный вывод.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.09.2018, 09:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а если написать так?
Код:
lst=["This! Is! A! Test"]
for i in lst :
    if i=="!": continue
    print(i, end="")
    lst.append(lst) 
print(lst)
ведь, насколько я понимаю, отступы в Python крайне важны!

p.s. это неверный код, он зацикливается!

Последний раз редактировалось Serge_Bliznykov; 11.09.2018 в 09:42.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.09.2018, 09:28   #6
РезедаМуратова
Пользователь
 
Регистрация: 05.12.2017
Сообщений: 69
По умолчанию

Получается у меня не правильная функция. Он значит не перебирает как необходимо. Он должен был перебрать до ! его откидывать продолжать дальше пока есть !
? или я не правильно мыслю и просто не то использую?
Изображения
Тип файла: png Безымянный.png (13.7 Кб, 72 просмотров)
РезедаМуратова вне форума Ответить с цитированием
Старый 11.09.2018, 09:32   #7
РезедаМуратова
Пользователь
 
Регистрация: 05.12.2017
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а если написать так?
Код:
lst=["This! Is! A! Test"]
for i in lst :
    if i=="!": continue
    print(i, end="")
    lst.append(lst)
print(lst)
ведь, насколько я понимаю, отступы в Python крайне важны!

Я и сама так пробовала, но он у меня зацикливается.
Когда просто так прописано, все работает, но когда пытаюсь загнать в пустой, что-то идет не так
Изображения
Тип файла: jpg Безымянный.jpg (45.1 Кб, 115 просмотров)
РезедаМуратова вне форума Ответить с цитированием
Старый 11.09.2018, 09:39   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от РезедаМуратова Посмотреть сообщение
Получается у меня не правильная функция
Тут нет функции.
А определить правильно ли работает программа легко — если запускается и делает то, что ожидалось, значит правильно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.09.2018, 09:41   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от РезедаМуратова Посмотреть сообщение
Я и сама так пробовала, но он у меня зацикливается.
ещё бы. это же не код, а ужас.
Вы к массиву, по которому цикл в цикле прибавляете ещё значение.
Конечно, оно зациклится.

А Вы вообще знаете, что означают квадратные скобки в вашем примере?
и для чего они нужны?

для анализа попробуйте такой код:
Код:
lst=["This! Is! A! Test"]
for i in lst[0] :
    if i=="!": continue
    print(i)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.09.2018, 09:43   #10
РезедаМуратова
Пользователь
 
Регистрация: 05.12.2017
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Тут нет функции.
А определить правильно ли работает программа легко — если запускается и делает то, что ожидалось, значит правильно.
( спасибо я давно уже поняла что не работает, так как выводит не то. Я надеялась что мне посоветуют какой оператор лучше использовать. или что в цикле не верно.
Спасибо вам за статью, очень полезна
РезедаМуратова вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документации, учебники, уроки и полезные материалы по Python, PyQt, PySide pompiduskus Python 4 22.07.2022 10:16
Python Erke1599 Помощь студентам 1 18.05.2018 09:51
Начальный уровень Python. Функции - Python YYYUUU Python 5 09.06.2017 12:09
Списки в языке Python. Помогите исправить! Young_programmer Python 9 31.01.2017 20:11