Найти - Пользователи
Полная версия: Задача
Начало » Python для новичков » Задача
1
YTB
Привет! Есть задача:
Прочитайте с клавиатуры список строк, разделенных пробелами. Для каждой строки списка:

1. Eсли ее длина строго больше 3-х, приведите строку к нижнему регистру,
2. Eсли длина нечетная, то первый символ сделайте заглавным.
Выведите на экран получившийся список строк.

Решить нужно с помощью for/while/if потому что другие способы еще не изучались. Давно сижу, если честно не до конца понимаю как правильно использовать for и как заставить программу сравнивать длину строк. Заранее спасибо, буду также благодарна если кто-то на пальцах объяснит как работает for и while и их синтаксис, по сравнению с if я вообще не понимаю как правильно что то делать через циклы
py.user.next
  
>>> text = input('Enter text: ')
Enter text: a aa aaa b bb bbb c cc ccc cccc
>>> 
>>> strings = text.split()
>>> 
>>> for string in strings:
...     new_string = string
...     if len(string) > 3:
...         new_string = new_string.lower()
...     if len(string) % 2 != 0:
...         new_string = new_string[0].upper() + new_string[1:]
...     print(new_string)
... 
A
aa
Aaa
B
bb
Bbb
C
cc
Ccc
cccc
>>>

YTB
Давно сижу, если честно не до конца понимаю как правильно использовать for
А тебе блок-схемы давали? Обычно на них объясняется это.

YTB
Заранее спасибо, буду также благодарна если кто-то на пальцах объяснит как работает for и while и их синтаксис
Да никто не будет этим заниматься. Найди учителя, а не непонятно кого. Учить надо постепенно и от простого к сложному, а это куча времени.
Но уровень школоло обычно изучает циклы на блок-схемах, там картинка цикла и других подобных конструкций хорошо запоминается, да и просто понятна.

В циклах также есть понятия: предусловие, постусловие, заголовок, тело, итерация, шаг, условие выхода, прерывание цикла, продолжение цикла, инвариант.

Для изучения циклов начинай с простого:
1. Вывести на экран числа от одного до десяти.
2. Вывести на экран числа от десяти до двадцати.
3. Вывести на экран числа от десяти до одного.
4. Вывести три раза на экран числа от одного до десяти.

Сначала это делаешь с использованием цикла while. Потом это делаешь с использованием цикла for.
YTB
Спасибо большое! Хоть на код посмотрю человеческий

Блок схемы не давали, только в лекции показали как использовать range без конкретных пояснений

Да учитель то можно сказать и есть, но и нет. Я занимаюсь курсами переквалификации в универе, основы машинного обучения для неайтишников для дополнительной профессии в дипломе. Проблема только в том, что курсы составлены бездарно, хотя должны быть специально для тех кто вообще не знаком с программированием. И получается так, что лектор в коротенькой лекции объясняет тему за 20 минут, а потом выдается задание, которое просит то, о чем не говорилось. Приходится сидеть гуглить, слушать сторонние лекции, тусоваться на форумах.

Спасибо большое за код и за советы!
ZerG
YTB
Спасибо большое! Хоть на код посмотрю человеческий Блок схемы не давали, только в лекции показали как использовать range без конкретных поясненийДа учитель то можно сказать и есть, но и нет. Я занимаюсь курсами переквалификации в универе, основы машинного обучения для неайтишников для дополнительной профессии в дипломе. Проблема только в том, что курсы составлены бездарно, хотя должны быть специально для тех кто вообще не знаком с программированием. И получается так, что лектор в коротенькой лекции объясняет тему за 20 минут, а потом выдается задание, которое просит то, о чем не говорилось. Приходится сидеть гуглить, слушать сторонние лекции, тусоваться на форумах. Спасибо большое за код и за советы!
Машинное обучения это большая тема которую необходимо осознать. Питон тут не панацея - а всего лишь инструмент. Проблема не в незнаннии синтаксиса языка а в понимании задачи.
Однако требования есть требования.
Я вам рекомендую почитать Лутца хотябы по 30 минут в день (в маршрутке с телефона итд)
Даже через неделю все такие простые вопросы вы сможете решить самостоятельно
В противном случае не стоит ворошить пчелиный улей.
py.user.next
YTB
Я занимаюсь курсами переквалификации в универе, основы машинного обучения для неайтишников для дополнительной профессии в дипломе.
Это всё просто красивые слова. Машинное обучение требует наличия знаний из области высшей математики, иначе ты даже не сможешь понять, как устроена нейронная сеть и как она там переучивается всё время. Использование готовых инструментов, в которых уже всё сделано другими, тоже потребует знания того, как оно там внутри устроено, иначе просто ничего не будет получаться и задача поиска или классификации просто не будет выполнена.

Если тебе звонили роботы какие-нибудь (банковские, медицинские, из служб всяких) и 100500 раз спрашивали один и тот же вопрос, при этом казались тебе какими-то тупыми из-за этого, то это как раз результат такого применения нейронной сети, когда человек берёт инструмент и применяет его неправильно, потому что даже не представляет, как он там работает внутри. Тебе оно надо, на таком уровне что-то знать? когда запись в дипломном вкладыше есть, а сделать ты реально ничего не можешь в соответствии с ней?

А пример нормальной нейронной сети - это когда ты смартфону говоришь слово и он это слово пишет на экране. Попробуй из звукового файла извлечь текст речи, произнесённой в нём. Ты даже не будешь знать, с чего начать.

YTB
Проблема только в том, что курсы составлены бездарно
Думаешь, их составляют квалифицированные педагоги? У этих составителей, как правило, педагогического образования нет даже близко. И они и двух слов связать не могут к тому же очень часто, потому что они вообще никто. Просто делают контент, называют это словом “курс” и потом продают. При этом обучения там никакого не происходит, потому что это не дидактический материал, а просто какой-то набор слов и типа заданий.

YTB
Блок схемы не давали, только в лекции показали как использовать range без конкретных пояснений
Вот на информатике в школе сейчас учат вот эти циклы всякие и другие конструкции. И для этого используются блок-схемы, чтобы можно было вообще это всё описать, представить наглядно и запомнить. Во взрослой жизни блок-схемы переходят в UML, который состоит примерно из пятнадцати видов диаграмм, в каждой из которых примерно по двадцать разных графических элементов. И потом уже ты программу, перед тем как её начать писать, описываешь сначала диаграммами с разных сторон. А потом уже, когда на диаграммах всё причёсано и понятно, ты переходишь к реализации этой программы на языке программирования. Ещё язык программирования там выбирается сначала, потому что одну и ту же программу можно написать на многих языках и она будет работать на любом из них, там уже смотришь, что будет оптимальнее и лучше (куда она будет устанавливаться там и тому подобное). Это всё очень похоже на инженерную работу таких, знаешь, инженеров из кино, которые там что-то чертят и измеряют циркулями, потому что это как раз то самое и есть.

Естественно, твой говнопрепод, который ничему не может научить никого, тебе этого всего не расскажет и не опишет, потому что он сам ни одной программы не написал; и он сам всех этих средств не знает ещё, потому что они нужны, чтобы программы делать, а он не делает программ никаких. Я вот этот UML изучал месяца четыре. Причём он простой, даже школьник может его выучить, просто я изучал его, потому что он мне нужен для дела. Кисточки и краски школьник тоже может выучить, но пейзажи писать ими он потом не будет, потому что пейзажи писать сложно, это не просто мулевание какое-то там. Думаешь, какой-нибудь препод, которому UML не нужен, будет его изучать вообще? Если он программ не делает, то он не умеет их делать. Это как плавание: если ты не плаваешь, то ты плавать не умеешь, а рассказы твои - это просто рассказы, не более того. А если ты не умеешь делать программы, то ты и не можешь научить их делать кого-то другого. Как ты его научишь, если ты сам не умеешь?

Поэтому сейчас по стране будет вот такой голод. Будет куча “переквалифицированных” вот этих непонятно кем, а дела делать никто не будет.

YTB
Хоть на код посмотрю человеческий
Это мелочёвка и это школьный уровень. Никакого, естественно, тут машинного обучения даже близко нет. Машинное обучение - это не для школы. Почитай про пороговую функцию в нейроне, как она задействуется там, как эти слои нейронов выстраиваются и тому подобное. У тебя это отобьёт всю охоту заниматься нейронными сетями, которые используется в машинном обучении, далеко и надолго. А фуфлом заниматься, когда на вокзале по описанию Пикассо задержали в качестве преступников двух стариков, трёх старух, одну болонку, три велосипеда и четыре стиральные машины, это знаешь, просто трата времени. Вот нейройнные сети новичков работают вот так, поэтому эти банковские роботы звонят и всякую чушь спрашивают бессмысленную и не помогают вообще ни в чём. Я этой МТСке позвонил, сказал “ваш робот дебильный звонит мне на телефон всё время и спрашивает меня, на какой телефон он мне звонит”. Девчонка просто двести рублей с тарифа мне убрала, она просто не знала, что мне ответить, потому что это так и есть, этот их робот, он никакущий. Вот результат. Они написали робота (затратили на него ресурсы), а теперь должны ещё всех успокаивать, когда этот робот достаёт клиентов, и сбрасывать с тарифа двести рублей. То есть они будут теперь терять двести рублей каждый месяц, потому что они плохо робота написали. Какой-то школьник его писал, какой-то вот такой “переквалифицированный”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB