Вы видите копию треда, сохраненную 28 ноября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый: >>561713 (OP)
FAQ:
Q: Какой пифон учить, 2 или 3?
A: 3
Q: Посоветуйте IDE
A: pycharm
Q: Как зделать GUI на пифоне?
A: pygobject, pyqt.
Логика не ясна. Шапку вынес на гитхаб, но FAQ, который является частью шапки, продублировал. Зачем?
У рабистов ещё не совсем мертвый язык. А вот через годик можно будет и им написать.
В рубитреде моча живет.
с ходу высираю для тебя гениальную идею
конструктор пек
парсит например яндекс-маркет
заносит всё в базу
и генерирует пеку так чтобы процессор подходил к сокету матери, память подходила и т.д.
это же охуенная идея.
можешь усложнить и заебенить графики, анализ цен и т.д.
тебя даже без опыта возьмут с такой годнотой
Тред нелегитимен. Где черный стяг? Где кровь и черепа? Ладно, на первый раз прощаю.
стоит ли питон изучать глубоко? он сейчас вообще юзабелен? может стоит потратить время на что-то другое?
Имеет самое широкое применение из всей подобной динамикодрысни.
Так хуле ты не создал? Тот уже утонул и 50 постов сверху имел. Только кукарекать и можешь.
Так вопрос был даже не в производительности, а в оправданности дополнительного прохода по списку, ради сомнительных эстетических соображений.
Вред душевному спокойствию - тоже вред.
Так и пользы не особо много. Можно и на каждый чих делать обход списка, но стоит ли?
ИЗ ТРЕДА В ТРЕД
СПОРЫ НИ О ЧЕМ
ЧЕМ МОЖЕШЬ УДИВИТЬ
МЕНЯ СЕГОДНЯ ТЫ
ВЕДЬ Я УЧУ ПИТОН
НО ОН ДАНОН
ОН КАК ДОНОН СЛОЖОН
НО НА ЭТОМ ПОКА ЧТО ВСЕ
АЕ АУ ЕАЕАЕАУЕАУЕА АУУУУУУУ АААААААУУУУУУУУУУУУУУФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФ
Если тебе так важна производительность, то делай свой парсинг строки на си и добавляй как модуль. Так-то настолько длинной строки, чтобы для тебя это сыграло хоть какую-то роль просто нет, ибо всё равно эта строка будет в памяти.
Я не тот анон-перфекционист, мне не доставляет неудобств строка s = s.strip(). Не вижу повода ее избегать, тем более лишним обходом списка.
ОП того треда в глаза ебется.
В третьем питоне map ленивый и возвращает итератор, а не список новый создает.
Я тупой и информации здесь http://wombat.org.ua/AByteOfPython/data_structures.html#id5 мне недостаточно, чтобы сложить в голове какой-то образ по поводу них.
Начнем с того, что кортежи immutable.
Если ты хочешь одной перменной присвоить два или более значения, при это добавление/удаление элементов тебе не нужно.
Например return x,y
Очевидно тогда, когда тебе нужна неизменяемая константа в виде списка
>Если ты хочешь одной перменной присвоить два или более значения, при это добавление/удаление элементов тебе не нужно.
А почему я должен использовать именно кортеж, а не список? Ведь список тоже справится с этой функцией.
>Кортежи обычно используются в тех случаях, когда оператор или пользовательская функция должны наверняка знать, что набор значений, т.е. кортеж значений, не изменится.
Кортежи эффективнее, из-за того что иммутабельны. Поэтому если тебе не нужна мутабельность, нужно использовать кортеж. Во-первых эффективнее, во-вторых защита от дурака (иммутабельность).
>Во-первых эффективнее
Я так и не услышал почему.
>во-вторых защита от дурака (иммутабельность)
Вот это уже больше похоже на объяснение.
Каким образом это защита от дурака? Если погромисту вздумалось вдруг аппенднуть что-нибудь к кортежу, то он скорее просто заменит его на список.
Запихнуть его в else
> Я так и не услышал почему.
Из-за внутренней реализации, скорее всего. Кортеж можно на простом массиве или чем-то подобном (типа структуры) сделать, без всяких изызсков. А для списка нужно воротить более сложную структуру данных. Но я хуй знает.
>>570305
Ну это лучше чем просто забыл что этот список нельзя изменять и потом полдня баг ищешь.
while True:
..member = input()
..if member in ab: break
Поскольку у тебя всё равно break есть то смысла в условии в while нет.
А если он захочет удалить всю программу — он, внезапно, тоже это может сделать, независимо от кортежей или списков.
Другое дело, что случайно заменить элемент какого-нибудь time.gmtime() он не сможет, без создания нового списка или кортежа.(Например, в функции сначала получаешь дату, потом хочешь получить это же время, но завтра. А в конце функции опять что-то с текущей датой сделать надо, но если уже там что-то поменял и забыл, то идти поправлять нужно, а сразу не смог бы изменить.)
Хотя я вот не очень понимаю этих рассуждений насчёт того, кто и чего может или не может изменять. Все эти приватные переменные, при обсуждении синглтонов часто вылезает. Ну, это, ты ж сам царь и бог, бери просто и не создавай объект больше одного раза, что мешает-то?
>Извини, что ввёл тебя в заблуждение.
Ничего страшного братишка, я сам так думал. Го поебемся?
Кортеж неизменяем и из этого следует, что
1. def f(a=tuple()): pass не имеет характерного побочного эффекта при использовании def f(a=[]): pass
2. Можно получить хэш кортежа, а следовательно, использовать в dict-like структурах в виде ключа.
3. Можно показать, когда дело до ходит до глобальных/статических констант, что данная структура не должна меняться со временем.
Тот факт, что с кортежем нельзя сделать что-то вроде kortezh[:] = getgovnonalopate(), как мне кажется, не очень важен, потому что всегда найдется пару способов сделать нечто подобное обходным путем. Это ж пистон.
Код:
import feedparser
r = feedparser.parse('randomnoye url')
print(r.entries[0])
Что я делаю не так?
Cпасибо, няша.
> Что я делаю не так?
Выкладываешь название ошибки вместо того, чтобы показать весь стектрейс ))
Возможно, ты скопировал код для второго питона. Без стектрейса и/или большего количества кода не очень понятно.
UnicodeEncodeError: 'charmap' codec can't encode characters in position 11271-11273: character maps to <undefined>
Код выложил полный.
Ну тащемта понятненько. Модуль feedparser использует неподходящую кодировку. Возможно, кодировку, в которой нет русских символов, или в ленте попалась загогулина/эмоджи, или еще что-нибудь такое. Перевод данных в utf-8 вполне себе нормальное решение этого бага, как по мне.
Судя по гитхабу, подобные проблемы у модуля есть.
https://github.com/kurtmckee/feedparser/issues/36
Out[15]: {'count': 111, 'old': 111}
In [17]: result.update({'count':113,'old': 121,})
In [18]: result
Out[18]: {'count': 113, 'old': 121}
In [19]: x = {1:3, 2:4}
In [20]: x.update({3:4})
In [21]: x
Out[21]: {1: 3, 2: 4, 3: 4}
Задолбался. Чуть в том, что в 17 не добавляет в словарь, а обновляет. А в 20 добавляет. Что не так?
На Питоне.
Блядь, и сразу же понял где обосрался
вот это основная тема кортежей, на мой взгляд
можно многомерные массивы представлять как
arr[(dimension1,dimension2,...,dimensionN)]
Это Atom? Как в нем вообще что-то писать можно? У меня сразу хуй встает, хочется подрочить пойти.
Ну лан. Но я всё равно подрочу.
Впрочем, нахуй.
Сёма, заканчивай шитпостить.
> Из-за внутренней реализации
Именно. Обычно кортеж это просто синтаксический сахар для группы значений.
В питоне это:
https://stackoverflow.com/questions/14135542/how-is-tuple-implemented-in-cpython
подробнее:
https://hg.python.org/cpython/file/default/Objects/tupleobject.c
> Можно получить хэш кортежа
In [1]: hash( (1, []) )
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-c9fa31004439> in <module>()
----> 1 hash( (1, []) )
TypeError: unhashable type: 'list'
Начал учить Питон, да и прогу в общем по учебнику "Укус Питона"
Все делал по примеру из учебника но выдает просто фри спейс.
Мб знаете где и в чем проебался?
Лал. В прошлом треде уже был пассажир с укусом, можешь полистать. В этом примере ошибка - на 4 и 5 строке у тебя вызовы функций, они должны быть на первом инденте:
def say(
..print(
say(
say(
во, спасибо, няш
Открыл setup.py от tornado - version - строка.
А в __init__.py вообще 2й пикрел.
Открыл __init__.py от django там 3й пикрел
Открыл six там 4й пикрел
Везде по-разному.
Ну, тогда выбери то, что тебе приятнее. Было бы хорошо чтобы была версия в строке и в тупле из интов. Это всё.
Ой, этого легаси-петуха уже опускали где только можно. В 3 отличный юникод, так, как и должно быть. Есть байты, есть строки. У тебя есть примеры «плохого» поведения в 3-й версии? Давай их сюда, обсудим.
Внутри функций и классов. Так легче читать, легче работать с кодом. Но можно и стену текста без всякого логического разделения выдавать, я так скриптики на 50-100 строчек пишу.
Да. В питоне доступ к локальным переменным быстрее глобальных и мусорить в глобальном неймспейсе не принятно.
Обычно делают так
re.search('yoba', list) найдет все строки в списке с этим словом, а как добавить другие слова? Я даже в доках не нашел, там только есть пример с одним словом
а не все, сейчас наугад вставил | и оно заработало bla|bla2
да, спасибо, даже не думал, что можно еще к ним () добавить дополнительно
Вообщем я хотел найти остаток от деления двух значений переменных, при помощи оператора %.
Как исправить?
https://ideone.com/Bdadsj
Ввожу за пределами вайла неверное значение, ввожу в вайле правильно, а он все-равно продолжает выполнятся как при неверном значении, хотя условие вайла должно дать фолс и он должен закончиться.
Бля, и правда ведь
Да я уже понял
Нужно вернуть целую строку, если в ней найдено конкретное слово, не знаю как это сделать. group() только отдельные слова выдает, а мне просто нужно отфильтровать ссылки
блин, реально спасибо, так даже еще проще получается, совсем забыл про это
def chained(functions):
....def f(x):
........for function in functions:
............x = function(x)
........return x
....return f
Милый двач, почему оно работает?
Такое понятно, тут у х будет какое-то определенное значение на момент return'a:
def foo(x):
....return lambda y: x + y
Но понять первую хуиту я не могу.
А почему не должно работать? Изначальное значение х — input. Дальше оно обрабатывается первой функцией из списка, выход которой является входом для следующей.
a = lambda x: x + 2
b = lambda x: x + 3
c = lambda x: x + 5
x = 10 # input
x = a(x) # 12
x = b(x) # 15
x = c(x) # 20
x = 10 # input
x = c(b(a(x))) # 20
funcs = [a,b,c]
x = 10 # input
for func in funcs:
x = func(x)
print(x) # 20
Я думаю он не понимает как замыкания работают.
http://blog.jetfix.ru/post/zamykaniya-v-python-chto-eto-i-s-chem-ih-edyat
https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_Python#.D0.97.D0.B0.D0.BC.D1.8B.D0.BA.D0.B0.D0.BD.D0.B8.D1.8F
etc
Пиздос, проебал изменение каунтера, спасибо
На будущее:
0. Проверять делители имеет смысл только до floor(sqrt(x))
1. Можно при этом хранить решето Эратосфена и лениво пополнять его при запросе.
2. Когда числа выходят на порядок сотен миллионов-миллиардов, лучше пользоваться вероятностным алгоритмом: https://ru.wikipedia.org/wiki/Тест_Миллера_—_Рабина
Спасибо конечно, но это просто задание в обучении, я так сильно углубляться не собирался. Но про решето прочитаю
Но несколько моментов - строки неизменяемы. Ты не можешь написать строка='a'
Ты пытаешься изменять в цикле и брать значения одной и той же переменной. Скорее тебе надо завести новую переменную для результата.
Можешь написать как-то так
text = 'test1'
text2 = ''
for i in range(len(text)):
..text2 += text[len(text)-i-1]
или
for i in range(len(text)-1, -1, -1):
..text2 += text
или
text = 'test1'
result = []
for char in text:
..result.insert(0, char)
return ''.join(result)
Я так понимаю pickle - это банка, в которую напихано данных
shelve - шкаф, в котором 1 полка - строка/список/кортеж етк
Забей на shelve - никогда не пригождался. pickle просто сериализация объектов.
Да я в принципе так и подумал, что ты это имел ввиду
Вообще советую
https://pymotw.com/3/ - не доделано ещё
https://pymotw.com/2/
самая толковая документация с примерами про модули стандартной библиотеки
Да, действительно, чего-то я сегодня туплю. Ну и в любом случае со стрингом такое не прокатит.
Ну, например у тебя есть инстант объекта. Сериализация - это когда ты его состояние записываешь в двоичном виде, чтобы можно было сохранить в файл или передать по сети. Десереализация - преобразования этих байтиков обратно в объект.
т.е. ты можешь сохранить состояние своей программы в файл, выйти из программы, а потом заново её запустить и загрузить состояние из файла например.
Не только декоратор. В книге описывается он, как тот блок, где инициализируется драйвер Firefox 1 раз перед выполнением всех тестов. То есть, не каждый раз, перед каждым тестом, а 1 раз. Насколько я понял, эта такая хуйня, которая работает только для этого класса и, если мы будем наследоваться из этого класса куда-то еще, то классметод не будет доступен там. Верно?
aiohttp, tornado и ещё куча других.
Ну охуеть теперь. Что он делает то? Не декоратор вообще, а именно классметод. Четко и ясно давай.
classmethod = staticmethod, только первым аргументом передается класс. Так что можно делать classmethod perekat в классе Yoba, потом отнаследовать от ебы класс Peka, и при вызове Peka.perekat() вызовется perekat(Peka).
У меня такая проблема: есть файл *.po. (на скрине)
В нем есть строки:
msgid "%исходный_текст%"
msgstr "%текст_перевода%"
Теперь задача:
Так как иногда файлы приходят поломанные и в них msgid = msgstr (обозначено минусом на скрине). В таком случае, редактор не видит, что строка не переведена, а обозначена как имеющая англо-английский "пеервод"
Необходимо написать скрипт, который находил бы строки, в которых msgid был равен msgstr и удалял текст в msgstr, оставляя его как msgstr "" (обозначено плюсом на скрине).
Подскажите, как это сделать?
Я вроде понял в очередной раз, но все равно забуду и применять не буду. Слишком магическая хуйня.
В догонку, есть что-нибудь (желательно без импорта) что проверяет переменная число (инт, флот) или какой-нибудь символ (чар, стринг)?
Скриптом нужно:
1. Нужно найти в файле все строки, в которых значение msgstr=msgid.
2. Удалить значение строки msgstr.
Немного совсем не то, имеется ввиду что-то типа проверить(переменная,число) и выдает тру, если там флот или инт.
Есть какой либо источник информации, кроме курсов, где материал излагается последовательно?
if type(var) is str\int
Но иногда то надо расти в понимании Python. Бывает ведь, что ни в одном из источников инфы не сталкиваешься с доступным толкованием чего либо.
numeric у нас в нем float и int, я могу без последствий эксепшона перегнать один в другой, разве что хвост у инта потеряю, но это уже издержки, или phoetical с char и string, где как минимум чар в стринг спокойно перегоняется.
В общем забейте.
Если сделать так:
g = range(5)
f = open('f.json', 'w')
for i in g: json.dump('i', f)
то не будет запятых между объектами.
Есть еще такая еба: https://docs.python.org/3.4/library/json.html#json.JSONEncoder.default
но там вызывается list(), и все значения из генератора оказываются в памяти. Смысл тогда использовать генератор?
В питоне нет char.
>Пряника
Еще, говорят, у Кренделя книги заебись, загружают топ хэккерские триксы космическим лучом прямо в мозг.
>На самом деле на винде всё заебись, просто там тоже есть неосиляторство.
только за 60 итт тредов так и не решили хуя в пичарме на винде русские буковки не работают.
вернее писать "not found" и "username"
Наверное, потому что у меня винда на английском?
> cat t.txt
msgstr=lkasjdfl
wmsgstr=msgid
lkasjdfklsj msgstr=iaeproai
11 wmsgstr=msgid
wat wat msgstr=wat
> sed 's/msgstr=msgid/msgstr=/g' t.txt
msgstr=lkasjdfl
wmsgstr=
lkasjdfklsj msgstr=iaeproai
11 wmsgstr=
wat wat msgstr=wat
Написали же уже. Классметод получает параметром класс, статик нихуя не получает.
Никогда
for key in list_key
<работаем с key>
for item in list_item
<работаем с item на основе key>
Как вернуться на for с list_key после всех прохождений for с list_item за новым kay?
Ты не мог бы уточнить, что именно ты подразумеваешь под "вернуться"?
При кастомизации создания класса, например. https://docs.python.org/3/library/stdtypes.html?highlight=fromhex#bytes.fromhex
Чем лучше PHP только быстро
Анон, у меня была похожая проблема>>570987
Но с ООП то я разобрался более менее.
Я всю инфу черпал из разных источников. Разжеванно, но не последовательно есть на stackoverflow, но там все на инглише.
Можешь здесь спрашивать.
https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_Python#.D0.98.D0.BC.D0.B8.D1.82.D0.B0.D1.86.D0.B8.D1.8F_.D0.B2.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.82.D0.B8.D0.BF.D0.BE.D0.B2
Возможно этого будет недостаточно.
Давай на инглише. Мне похуй, лишь бы было последовательно и понятно. Плиз.
спс, я там намудрил
Спрашивай тут, что не понятно, или у гугла на инглише, в последнем случае почти всегда в числе нескольких первых ссылок будет stackoverflow
нет, это димон
Сейчас вот читаю. Мне база-то понятна. Как только заходит дальше, так всё. Пиздец. В Укусе Питона последовательно рассказывается?
>You can think of a tuple as an immutable (that is, unchangeable) list (though this is an oversimplification); tuples are surrounded by ()s and can contain any data type.
Томушто язык интерпретируемый?
Годно, спасибо
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[1::-2]
Out>X
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[:2:-2]
Out>I am the secret messag
>"!Xe|XgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[::-2]
Out>I am the secret message!
Отсюда вопрос, при таком реверсе невозможно поставить начальную точку получается(пример 1)?
Томушто логическая строка должны быть в одной физической.
сначала переменная и присваивание
потом принт переменной
Спасибо
короче изучи как в слайсе вычисляются неявно заданные пределы
или задавай их явно
message = garbled[-1:0:-2]
У меня есть вопрос.
>>571097
1.Понятно. Но так или иначе, я учусь по этой книге:
https://vk.com/doc92204332_320825877?hash=0f7bfba177ee694fad&dl=b7dcb51474b5505132
2.>Потому что ты сравнивал со строкой в условии while.
Все, понял. Я не заметил, что у меня не высвечивалась фраза "Good luck!".
У меня просто не включался сам цикл if.
Осталось только понять, как ты это сделал. Например, указал значение True. Т.е. 0 - всегда False?
3.Ну т.е. в 3-ей версии, заместо raw_input надо писать int(input()).
4."Программы, которые вы писали до сих пор, представляли собой длинные, целостные серии команд."
Цитата из той книги.
В Пайтон треде последние два поста мои и на них никто не ответил. Вот, решил сюда перебраться. А что, я мешаю?
Я запилил такой код:
import random
inv = ["sword", "shield", "duck", "drug"]
while inv:
(отступ)\tx=random.randint(0, len(inv)-1)
(отступ)\tprint(inv.pop(x))
input("Hi!")
Благодарю за помощь.
Прошу благородного дона поправить меня в перечне функций и их значений:
x = random.randint(0, len(inv)-1) - будет присваиваться случайное значение 0 до числа элементов списка, за вычетом единицы.
inv.pop([x]) - принтует и удаляет элемент №х. Если я не укажу аргумент х, то удалит самый последний элемент списка.
word = random.choice(inv) - просто делает случайный выбор из списка, который будет занесен в переменную ворд.
def randomized(lst) - не догнал, что это.
random.shuffle(lst) - перемешивает элементы изменяемой
Лол, ко мне лучше не обращайся, ибо я нуб-нубом и только-только со словарями разбираюсь.
Ну хз. Мне кажется я очень грубую ошибку допустил. Не знаю так ли она заметна.
Я очень сильно уже спать хочу, и оттого очень сильно туплю.
Лол, ты по какому учебнику идешь? Если не по Доусону, то можешь воспользоваться ссылкой из моего поста и полистать. Авось, поможет.
> inv.pop([x]) - принтует и удаляет элемент №х.
var = inv.pop(x)
не принтует а возвращает значение элемента. ты можешь сделать принт его, присвоить переменной и что угодно. квадратных скобок быть не должно.
>Если я не укажу аргумент х, то удалит самый последний элемент списка.
верно
> random.choice(inv) - просто делает случайный выбор из списка
да
> def randomized(lst) - не догнал, что это.
объявление функции
> random.shuffle(lst) - перемешивает элементы
да. модифицирует lst так что элементы в нем перемешиваются случайным образом
Да нет. По разным учебникам. В т.ч. практическим.
Проблема такая, я реализовал игру "Игра Баше"
без GUI полностью рабочую, и теперь пытаюсь сделать с GUI. Что то с циклом не то, не знаю. Все время пишет "Победа".
http://pastebin.com/QidzX51S
Ну да, спасибо, и то, что ответил.
Тяжело иногда учится согласен. Абсолютно новые области знаний, иногда трудно постигаются.
Я вообще дрочил долгое время теорию, все оказалось проще и продолжалось становится проще, когда начал практиковаться.
Очень сильно спать хочу.
> что возвращение значение- это присвоение его указанной переменной.
Не совсем. Возвращение значения это то что твоя функция в return возвращает. Ты можешь с этим значением что угодно делать. Присваивать перменной или передавать в другие функции или ещё чего.
Некоторые функции ничего не возвращают, но просто делают какие-то операции. Как тот же random.shuffle.
Ага, понятно. Возвращение переменной - это его передача после операции.
Проще говоря, функции - это почти всегда школьное f(x)=y, а уже что потом с этим y станет функцию не волнует.
Кстати, а в чем отличие между функцией и командой?
"""
В учебнике написано так:
Программы, которые вы писали до сих пор, представляли собой длинные, целостные
серии команд. Когда программа достигает определенного уровня сложности,
такая организация кода становится неоптимальной. К счастью, есть способы разбить
большую программу на более мелкие фрагменты, с каждым из которых в отдельности
легче управляться. Одному из этих способов - созданию нестандартных
функций - и посвящена данная глава.
"""
Попробуй выводить значение MASSIVE через print на каждом шаге. Может тогда будет видно что происходит.
Спасибо за совет.
Уточнение:
Если я не введу переменную в inv.pop(), то эта функция обязательно присвоит значение, прежде чем удалит?
Если ты напишешь var = inv.pop() но в var будет значение, если просто inv.pop() то значение никуда не сохранится.
И почему у тебя победа то? Она же должна быть когда MASSIVE <= 0 или MASSIVE == 1.
Я вообще не оче понимаю правила игры и что происходит.
Это не критично вроде хотя опробую.
Там кое что другое надо исправить похоже.
ИГРА БАШЕ
https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%88%D0%B5_%28%D0%B8%D0%B3%D1%80%D0%B0%29
> inv.pop(1)
Нумерация начинается с нуля так, так что это удалит двойку из inv и значение var будет 2
В остальном правильно.
Бамп вопросу.
> а в чем отличие между функцией и командой?
Что ты имеешь ввиду под командой? Statements? Всякие print, del, pass? Они не возвращают значений. Всегда должны быть в начале строки - нельзя написать что-то типа while del foo:
Вообщем я хз, как поступить, у меня видимо не так много познаний в Tkinter.
Думаю, что если бы можно было при введении значения в Entry "перенаправлять" значения из последней в программу как input, но только в Tkinter. Возможно проблема была бы решена.
>Что ты имеешь ввиду под командой?
Принт, например.
>Всегда должны быть в начале строки
Т.е. команды - не возвращают значение?
Хм. Не замечал этого. Т.к. всегда команда должна стоять в начале строки?
Ну это такие сорт оф типы данных, зарезервированные слова, встроенные инструкции.
Ты можешь повесить событие при нажании enter например в entry вызывать callback какой-то.
Потом брать данные из entry и конвертировать их в int.
Я просто никогда не пользовался Tkinter незнаю как там это конкретно сделать.
>Хм. Не замечал этого. Т.к. всегда команда должна стоять в начале строки?
Ну немного не это. В определении функции, то есть там где ей задаются параметры, имя и пишется ключевое слово def (определяющее функцию), print и сорт оф ит, быть не должно.
С определением класса аналогично.
>>571954
Спасибо, конечно, за то, что оказываете помощь.
:
> def randomized(lst) - не догнал, что это.
>объявление функции
randomized - это название самой функции?
И можно ли применять одни и те же команды к кортежам, спискам и словарям?
Спасибо, добрый анон. Теперь я понял, что главное отличие функции от команды(инструкции) в том, что функция являются, своего рода, подпрограммой и напрямую взаимодействует с переменной и/или возвратом значения.
Только, теперь я понял, что можно было кодить и без этого знания, лол.
def randomized(lst):
randomized - название функции. lst- аргумент функции.
> можно ли применять одни и те же команды к кортежам, спискам и словарям?
Смотря какие команды. Ты можешь итерироваться по ним т.е. писать for element in tuple:
random.shuffle(tuple) не имеет смысла т.к. tuple неизменяемые
Есть ещё такой момент как область видимости перменных. Перменные объявленные внутри функции будут локальными т.е. за пределами этой функции их не видно и использовать нельзя. Можно только вернуть значение какой-то локальной переменной через return.
>randomized - название функции. lst- аргумент функции.
И аргумент будет возвращен после модификации/преобразования, так?
>Смотря какие команды.
Ну вот, например, функция var = inv.pop(x) . Я понял, что написал с ошибкой, т.к. имел ввиду не команды, типа принт, а именно что функции.
>>571979
Т.е. если я напишу, например:
def randomized(lst)
...
x = 1
...
То х не будет виден вне этой функции?
> функция var = inv.pop(x) .
У tuple нет pop. Это не имеет смысла т.к. tuple неизменяемая и ты не можешь убрать элемент из неё.
У dict pop есть.
> будет возвращен
Будет возвращено то что ты укажешь в return
Например
def randomized(lst): return 1
вернет 1
> То х не будет виден вне этой функции?
Да
хз. у нас в универе был си первым языком. те, кто до универе не программировал просто СТРАДАЛИ из-за всякой мелкой хуйни типа указателей и ненавидели программирование так ничему и не научились.
если бы был язык попроще типа питона и они могли бы писать какие-то работающие программки, у них бы получалось - была бы мотивация и возможно интерес к программированию бы появился
имхо.
но си конечно знать желательно.
А если ассемблер не взлетит, то на булеву алгебру?
>>571985
>У tuple нет pop. Это не имеет смысла т.к. tuple неизменяемая и ты не можешь убрать элемент из неё.
>У dict pop есть.
Т..е можно использовать одинаковые функции для неизменяемых /изменяемых типов данных?
Ну т.е. одни и те же для кортежей, интов, строк и другие для словарей, списков и множеств?
>Будет возвращено то что ты укажешь в return
Понятно. Пожалуй, поступлю поумнее и вначале проштудирую свой материал по теме функций, а потом буду задавать вопросы.
>Да
Спасибо.
В них нет ничего сложного, но для новичка это большой гемор. Вместо того чтобы сконцентрироваться на задаче, алгоритме, логике - он вынужден бороться с особенностями низкоуровневой хуеты типа управления памятью.
> Т..е можно использовать одинаковые функции для неизменяемых /изменяемых типов данных?
Смотря какие. У кортежей и списков есть некоторые функции с одинаковыми названиями.
Например lst.index lst.count ну и всё.
М.б. я не так выразился?
Вот мой тезис: для множеств, списков и словарей можно использовать большое количество одинаковых команд/функций.
Это одна группа.
Для кортежей, строк и чисел можно использовать одинаковые команды/функции.
Это вторая группа. Но одинаковых команд для представителей обеих групп - нет.
Это совсем другое
Вот например, как в нормальных языках можно делать
$handle = fopen("inputfile.txt", "r");
while (($line = fgets($handle)) !== false) {
// process the line read.
}
fclose($handle);
Неудивительно что перл умер.
>>571995
Там нет вопроса. И нет, ты не прав. И толку в этом тезисе никакого, даже ели бы он был верен. Кортеж больше на список похож, например, чем на инт, и всё равно, что он иммутабелен.
Хм. Понятно. Значит, просто нужно запоминать, какие команды для чего используются, и не пытаться делать глобальных выводов из совпадений нескольких команд.
Спасибо.
Просто надо читать документацию и юзать интроспекцию/автокомплит. C built-in ты еще запомнишь, а с user-defined - хрен.
LOL, я ещё не знаю, что такое built-in и user-defined. Но понял: не пытаться найти параллели там, где их нет.
>3.Ну т.е. в 3-ей версии, заместо raw_input надо писать int(input()).
int(raw_input()) же
мимо
Никак. Если нужно трудоустройство - учи php или java. Питон игрушечный язык для обучения.
Поддерживаю сего достопочтенного оратора. Господа-питонисты если и нужны, то исключительно опытные деятели с впечатляющим портфолио. Зато как дополнительный язык машинный пригодится и в резюме перспективного специалиста смотреться будет достойно. Изучай пхп, юнец, благо осваивается он после Питона очень легко.
Я и изучаю Яву, но после того как понял, что всем нужен опыт работы, подумал может подучить питон и пойти на стажерство.
Эта шутка уже была два-три треда назад.
Фантазёр.
Не подходит. На 1.6 работает один модуль, который и надо перенести, а на 1.4-куча таких модулей.
Все равно рано или поздно на новую версию придется переходить. Либо просто выкидывать весь проект. От прогресса не убежишь, а бэкпортить на дырявое говно - зашквар.
У меня есть сайтик который на 1.2альфа версии крутится уже много лет.
Напишите программу «Генератор персонажей» для ролевой игры. Пользователю должно быть предоставлено
30 пунктов, которые можно распределить между четырьмя характеристиками: Сипа, Здоровье, Мудрость
и Ловкость. Надо сделать так, чтобы пользователь мог не только брать эти пункты из общего «Пупа», но и возвращать
их туда из характеристик, которым он решит присвоить другие значения.
Запилил код для выбора меню https://ideone.com/7ytWu3 , но почему-то не получается выполнить цикл if. Если ввожу 1, то цикл просто повторяется, а если ввожу 0, то происходит выход, без участия.
Мне один анон пытался помочь, но он использовал функции, когда тут нужно только, пока-что, командами работать, с редким применением функций.
Мне сказали, что проблема в двойной проверке на 0, но её никак избежать не получается.
Спасибо, заработало, но не так, как я ожидал.
https://ideone.com/EMjYJx
А можно сделать так, чтобы из словаря выводились ключи в форме "Power, Speed, Magic"?
Т.е. без лишних знаков.
Прости, я не догоняю, что ты имеешь ввиду.
И да, можно у тебя попросить пояснить, в каких ситуациях используется None? То что это пустое значение, я знаю. Только вот, как и когда его стоит ставить, а когда - вредно и опасно?
Лол, бывает.
Так что? Можешь объяснит сакральное значение Нон или дать ссылку, где это описано нормально?
Просто, мне казалось, что нон нужно выставлять для переменных, которые будут условием для while циклов.
None это аналог Null. В большинстве случаев используется для того, чтобы попросту присвоить значение переменной, а также для проверок.
На счет словарей советую прочесть вот что, если ты готов пойти путями не предусмотренными в книге.
Вообще лучше вот что прочти: https://www.ibm.com/developerworks/ru/library/l-python_part_4/
Прости, что отвечаю не дочитав до конца, но что такое хэш?
Вот уже два раза встретил:
Словари реализованы как хеш-таблицы с быстрым доступом.
Словарь (dictionary) — это ассоциативный массив или хеш.
Где можно прочитать, что такое хеш?
Детектив Хэш Бриджес
Смотря как объяснять. Если проще, то это и есть тот самый словарь.
Гугли лучше, и если не понятно, тогда и обращайся.
>2015
>не иметь собственного сервера
Алсо, насколько я помню гитхаб пейджес умеют только статик контент. Ибо нехуй.
И что можете посоветовать для совсем нуфага из граф. интерфейса для простенькой программы?
У кого есть ключик? А то мой старый крякнутый легаси не катит уже. sedfrog.py
И нахуя мне компьюнити без поддержки джанги и прочих ништяков? Тогда уж лучше на 4.x сидеть.
Жаба душит пока 89$ платить. Хотя твердо намерен отблагодарить ребят из JB.
Охлол, наконец-то они проапгрейдили свой 512-bit RSA.
Там они же хуи изо рта твоего папаши с маманькой не вынимают. Там не пристроится при всем желании.
Совсем ебнулся?
Я бручу себе дедики.
Хетцнер и ДО. Но я проплатил оба до обвала рубля. Теперь на конвертации валют охуеешь, наверное лучше у рашкованских взять.
В чём сакральный смысл этого действия?
for line in lines:
prev = lines[lines.index(line) - 1]
Полагаю, ты с отступами обосрался и хотел весь последующий код в этот же цикл запихнуть. Только знай, что lines[-1] выдаст последнюю строчку, которая врядли как-то связана с первой.
Как сделать так, чтобы работал с несколькими файлами этот скрипт вместо одного?
писькой потрясти 128 раз по часовой стрелке.
На линукс IDE какое, чтоб можно было сразу код запустить как в пишарме?
Ну и соси тогда.
Анон, поправь, если я не прав:
Хеш(или хеш-таблица) - это пачка данных, выложенных в порядке ключе-значение.
В Питоне реализована хеш-таблица с открытой адресацией.
Хеширование(хеш-функция) - просто преобразование данных в таблицу.
Совпадение ключей в словаре(хеш-таблице) приводит к коллизии, но произойти это может только при генерации массива. тут под сомнением, т.к. мне кажется, что, все-таки, тут коллизия из-за записи двух кусков информации в одну ячейку.
В словаре можно проводить поиск по индексу, но это нежелательно.
С помощью функции dict() можно быстро сделать словарь, но все ключи обязательно должны быть строками.
Так же, словарь - это map. Но что такое map я не смог нагуглить. Появлялось сообщение, что это функция, которая применяет действие ко всем элементам списка.
Помоги, добрый Анон!
spyder pydev
> Так же, словарь - это map. Но что такое map я не смог нагуглить. Появлялось сообщение, что это функция, которая применяет действие ко всем элементам списка.
В питоне - да.
Имеется ввиду map из c++ это совсем другая вещь.
http://www.cplusplus.com/reference/map/map/
тебе это не важно, вкратце - map в c++ это вроде dict в питон или hash в perl.
map по-английски значит "отображение". Функция map отображает один список в другой, а словарь (dict) - ключи в значения. В С++ словарь называется map, а функция - transform. Просто разные варианты названия одного и того же.
Найди возность скачать 4.x и пиздуй на китайский baidu.com, там EMBRACE ключики ломанные на сотню-другую лет.
Зарепортил тебя за преступное скудоумие.
Ну не стукай
Ты какой-то кривой:
http://download-cf.jetbrains.com/python/pycharm-professional-4.5.4.exe
http://www.360kb.com/kb/2_24.html
А там ключики. Не такие, как у меня, но ты проверяй, проверяй.
Идите нахуй, неспособные ни на что выблядки. Пиздец, уже в ебаный jvm-байткод не могут. Bytecode Viewer в руки и сам хуярь.
Да нахуй вам этот pycharm сдался-то вообще, будто других программ нет. Прицепились так, будто это XCode, без которого действительно проблематично на мак/ios писать.
нравитса потомушто!
> 3
> pycharm
ПИЗДОС
на самом деле питон второй, интерпретатор PyPy, редактор сами знаете какой
уйди, некрофил.
>Состоялся релиз Fedora 23.
>Отдельного упоминания заслуживает и то, что теперь по умолчанию используется Python 3. Вторую версию всё так же можно установить из репозиториев.
Кукаретикам напоминаю, что rhel, а с ним и центось - оба базируются на федоре, и оба одни из самых популярных серверных дистрибутивов.
Вот когда в rhel будет питон3 по умолчанию тогда и приходи. fedora это cutting edge эксперементальный бета дистр.
>Вот когда питон3 будет юзать по умолчанию хоть один дистрибутив тогда и приходи.
>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников тогда и приходи.
>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников и федорасов тогда и приходи.
>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников и федорасов и дебиано-даунов тогда и приходи.
Зачем уходить-приходить? Тенденция ясна же. Пока ты свой говнокод портируешь - тройка уже везде будет.
Иди домашку делай пока мы энтерпрайзные облака разворачиваем в продакшн на ламповой двоече с old-style классами.
Не так вопрос задал, наверное.
Мне нужно узнать максимальную длину строки, которую можно записать в переменную.
Чего несешь? Ну, пока память не кончится или пока не упрется в пределы адресации. Овердохуя, короче, у тебя на столько плашек памяти денег нет.
Потому что он ньюфаг.
Как на питоне написать cli программу, которая будет обрабатывать введенный пример а-ля 2 + 2 * 2 и выдавать ответ?
print eval(raw_input())
print(eval(input()))
Есть один код:
import random
a=3
b=3
c=3
for i in range(101):
for char in range(101):
x=random.randint(3,8)
y=random.randint(-1,4)
z=random.randint(-1,2)
if a+b+c >= x+y+z:
print('success')
else:
print('bad luck')
И принт каждой строчки тут, в принципе, нафиг не нужен. Как мне посчитать и вывести общее кол-во удачных/неудачных заходов в цикле?
Добавь две переменные и итерируй.
s = paramiko.ProxyCommand('nc -X 5 -x ' + self.__proxy_list[self.__proxy_usage_index.value] + ' %h %p')
con = ssh.connect(ip, port=22, username=login, password=password, timeout=self.__timeout_con, look_for_keys=False, allow_agent=False, pkey=None, sock= s) результатом всегда получаю socket.timeout. Без танцов с прокси все отлично работает
man tsocks
Сажу ставлю потому, что есть интересный тред об уничтожении человеков.
чеза трет?
Очень тебе сочувствую, но раз уж ты здесь, может подскажешь как чужой код лучше читать. Вот есть прожект, в котором я хотел бы разобраться, но я даже не знаю с чего начать, не тупо же по порядку читать это все. Будь добр, расскажи, как ты это делаешь.
С комментариев. Адекватно написанные комментарии - 90% понимания кода.
Припомнишь мои слова, когда будешь ковыряться в больших проджектах. С мелких уровня лабы я с тобой согласен. Бывали кадры, которые вообще без комментариев делали свои проекты. На разбор уходило до 2ух недель. А это время и деньги.
Т.е. если код плохой, то нужно его сразу нахуй слать и отказываться с ним работать? Или что?
>>575186
Дискуссия о нужности/ненужности, конечно, дело хорошее, но я имел в виду немного другое. Речь шла о эффективном понимании все прожекта в целом. Я просто этого никогда раньше не делал, и открыв проект, здравый смысл меня направил прямиком к requirements.txt, а дальше-то куда я не знаю. Разбирать каждый файл по порядке - затея сомнительная. Поэтому и спрашиваю о неких методиках, или, возможно, есть некие файлы, с которых стоит начинать?
Надо по нормальному называть перменные и методы. Надо писать докстринги иногда. У больших проектов должна быть документация, мы обычно wiki держали внутренний под это - оно обычно встроено в системы типа redmine или там trac.
Смотря что за проект. Если это какое-нить вебприложения я бы изучил сначала модели.
Клиент-серверное приложение. Еще и с RUDP каким-то извращаются:
>A protocol extending the txrudp datagram protocol. This is the main protocol which gets passed into the twisted UDPServer.
Я пока ничего не понимаю.
Ты знаешь, что он делать должен? Ты можешь его запускать? Проследи, что и когда код делает (вот прям принты в каждую функцию вставь, например), какие цепочки функций и для чего вызываются. На самом высоком уровне сначала (например "вот оно получает по сети данные, потом что-то с ними делает, потом куда-то отправляет, полуает ответ, ещё раз преобразует и у нас анус на экране появился"). А потом детально спускайся до каждого шага, если нужно, и рассматривай как и куда он данные отправлял, в каком формате, откуда анус вдруг появился и т.д.
Да, сверху вниз, наверное, будет сподручнее. Спасибо за действенный совет. Буду пробовать.
>Бывали кадры, которые вообще без комментариев делали свои проекты.
Это я, наверное. На простые участки комменты писать не нужно, ведь все очевидно. А но сложные - лень, ибо хуй объяснишь.
> На простые участки комменты писать не нужно, ведь все очевидно
Расскажи это тому, кто будет разбирать твой код, когда в нём всё переплетено связями между собой.
Гугли что такое job security. Перловики специально вот обфосцируют свой код чтобы потом быть незаменимым специалистом.
Этим кстати нубы отличаются от профи. Нубы пишут такой код, который понятен даже нубам. Профи пишут такой код, который даже они сами с трудом через пару месяцев разберут. Поэтому их нельзя просто взять и уволить и заменить кем-то другим.
Во сейчас ввел в недхантере - куча ваканский.
В газпромбамк, мейлру, рамблер, центральный телеграф. И зарплаты хорошие
Начинать надо с user api. Смотришь сначала что в функциях, которые торчат наружу. Потом глубже, глубже. Всегда так делал и всегда всё становилось более менее понятно. Но это в основном для поиска бага. Ни разу не было задачи изучить™ какую-то библиотеку.
>>575185
Не знаю насчёт комментариев, их мало кто пишет. Но вот докстринги (а значит и документация) — это да. Плюс зачастую в документации есть туториал для разработчиков.
>>575255
Скорее наоборот.
>метод __init__ базового класса вызывается явно при помощи переменной self, чтобы >инициализировать часть объекта, относящуюся к базовому классу. Это очень важно >запомнить: Python не вызывает конструктор базового класса автоматически – его >необходимо вызывать самостоятельно в явном виде.
В питоне 3.х такая же хуйня?
http://wombat.org.ua/AByteOfPython/object_oriented_programming.html#id8
То есть, если я не вызову __init__ родителя в наследуемом классе, то не смогу создать экземпляр с теми переменными, что в __init__ родителя?
Да.
Только в питон2 нужно писать super(ИмяКласса, self).__init__() в питон3 можно написать super().__init__()
Если у наследуемого класса определен __init__ и в нем не вызван super.__init__ или явно конструктор предка то __init__ предка не выполниться и соотв. если ты в нем какие-то свойства описывал они не будут прописаны.
Спасибо.
Нет, в коде она нигде не определена.
https://docs.python.org/3/library/string.html#format-string-syntax
0 - нулевой элемент из tuple параметров форматирования, d - тип int
сарян!
Лол. Кто бы говорил.
С меня как обычно.
Интересный ресурс, благодарствую.
Ты чо сука не православный?
Это количество ожидающих соединений, "в очереди".
https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.listen%28v=vs.110%29.aspx
http://veithen.github.io/2014/01/01/how-tcp-backlog-works-in-linux.html
http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html
for i, val in enumerate(smth):
..if i != 0:
....call_func(val)
во втором питоне можно сделать
map(call_func, lst[1:])
но это довольно убого. в третьем list(map(call_func, lst[1:])) - ещё более убого
Или если итерируешься по списку можешь сделать
for i in lst[1:]:
..call_func(i)
Если это итератор можешь у него дернуть next один раз перед for и потом итерироваться. Или сделать list(iterator)[1:]
Вот условие:
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.
<code lang="python3">
a = float(input())
b = float(input())
z = input()
if (b == 0) and (z == 'mod' or z == 'div' or z == '/'):
\tprint('Деление на 0!')
if z == '':
print(a b)
if z == '/':
print(a / b)
if z == '+':
print(a + b)
if z == '-':
print(a - b)
if z == 'mod':
print(a // b)
if z == 'div':
print(a % b)
if z == 'pow':
print(a b)
</code>
Чувствую у меня говнокод, покажите как переписать нормально.
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.
[code lang = "python3"]
a = float(input())
b = float(input())
z = input()
if (b == 0) and (z == 'mod' or z == 'div' or z == '/'):
\tprint('Деление на 0!')
if z == '':
print(a b)
if z == '/':
print(a / b)
if z == '+':
print(a + b)
if z == '-':
print(a - b)
if z == 'mod':
print(a // b)
if z == 'div':
print(a % b)
if z == 'pow':
print(a b)
[code]
import operator
operators = {'+': operator.add, '-': operator.sub, '/': operator.truediv, '*': operator.mul}
a, b = float(input()), float(input())
o = operators[input()]
print(o(a,b))
Не с воркача?
Каким образом с помощью Python можно вывести все имена открытых приложений, но только из панели задач (taskbar)?
Пробовал искать ответы, но там показывали лишь примеры, где выводят все процессы из tasklist с помощью ctype.
ну соответсвенно как отфильтровать только окна с текущего рабочего стола думаю сам догадаешься
хех ну тогда гугли как через winapi это делается на msdn должно быть и дергай через ctypes
А если взять все процессы из tasklist, а потом отфильтровать процессы с пустым "Window Title"?
Пробовал так: http://pastebin.com/PNBAvisT
Но выводит так (с тем, что нужно):
['', 'Python 3.4.3 Shell', 'tk1.py - D:\\work\\python\\WorkPlace\\tk1.py (3.4.3)', '/pr/ - Python - Mozilla Firefox', 'D:\\work\\python\\WorkPlace\\tk1.py - Notepad++', 'WorkPlace', 'AMD:CCC-AEMCapturingWindow', 'Program Manager']
Соболезную
Тот перекат закрыт, пили по новой.
Перекат.
Ну, AMD-хуйню я не открывал. Program Manager -- я вообще не знаю, что это. К примеру, я открыл файловый менеджер и браузер и должен видеть только их, а не прочую херь.
А с Питоном/Джангой вообще возможна нормальная работа из-под Винды?
Блять, поставь убунту и не еби людям мозг
if shit == 1:
nigger = 'Nigger1'
elif shit == 2:
nigger = 'Nigger2'
return nigger
sdelat_huinyu(1)
Получаю local variable referenced before assignment? Это какое-то специфическое поведение 2.7? Ебать это говно.
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчи- вается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 3 и оканчивающихся на 8.
Код:
result = 0
numbers = []
for i in range(99):
numbers.append(input('\n'))
if numbers % 3 == 0 and numbers % 10 == 8:
result += numbers
if result >= 300:
print("\n{} > 300 ").format(result)
break
elif numbers == 0:
print("\nРезультат: {}").format(result)
break
Стоит ли мне учить питон? Я знаю C++, Java, Matlab, учу C#. Этого вполне хватает для решения любой задачи. Или нет, и я что-то упустил?
b = str(input())
c = str(input())
if a >= b and b >= c:
print (a + '\n' + c + '\n' + b)
elif a >= c and c >= b:
print (a + '\n' + b + '\n' + c)
elif b >= a and a >= c:
print (b + '\n' + c + '\n' + a)
elif b >= c and c >= a:
print (b + '\n' + a + '\n' + c)
elif c >= a and c >= b:
print (c + '\n' + b + '\n' + a)
elif c >= b and b >= a:
print (c + '\n' + a + '\n' + b)[/CODE]
Посоны, что не так? точнее я понимаю что обсираюсь с логическими операторами, но не могу понять где. задачка из степик. Использовать соответственно могу только то, что преподали, и такой вот говнокод получается. Не могу разобраться. С меня немного пикч.
И с разметкой обосрался.
Вы видите копию треда, сохраненную 28 ноября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.