Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Вопросы о Python-е

Автор Квас, декабря 23, 2011, 00:14

0 Пользователи и 1 гость просматривают эту тему.

Hellerick

Чтобы прочитать пакет в формате wheel надо скачать Wheel, который распространяется в формате wheel.

https://pypi.python.org/pypi/wheel#downloads

Это шутка такая?

Demetrius

Вроде пишут, что через pip устанавливать надо. :???

Я так понял, по-русски это «wheel» надо переводить «велосипед», да?

Bhudh

Цитата: Hellerick от июня 30, 2016, 09:53Это шутка такая?
Шутка весьма старая, типа инсталлятора RARʼа в формате rar или драйвера сетевой карты, который предлагается скачать в сети.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Upliner

Цитата: Hellerick от июня 30, 2016, 09:53
Чтобы прочитать пакет в формате wheel надо скачать Wheel, который распространяется в формате wheel.

https://pypi.python.org/pypi/wheel#downloads

Это шутка такая?
Там предлагается для скачивания 2 формата -- whl и обычный .tar.gz. Если у кого-то есть более старая версия wheel, то он может его обновить его из .whl пакета, если нет -- то скачать и установить из .tar.gz.
Таких случаев весьма много -- компилятор языка C, написанный на C, git, исходники которого хранятся в git и т.д.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Hellerick

Я сейчас какой-нибудь IDE для python'а подбираю.
Кто что использует, может посоветовать?

Python

Из питоновских IDE пользовался только PyCharm'ом. Лучше или хуже — сказать не могу, т.к. сравнивать несчем (кроме менее специализированных текстовых редакторов).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Hellerick

Я тоже сейчас с ним играюсь.

Чего мнетв нем не хватает: В стандартном IDLE после выполнения программы все переменные и функциии остаются в памяти, и через shell с ними можно еще поиграть, повыполнять с ними какие-то действия. В PyCharm после выполнения программы она полностью мертва, и ты с нею уже ничего не можешь сделать. Разве что можно из тамошнего Python shell'а через execfile вызвать выполнение этой же программы, и тогда данные будут доступны оттуда. Но это неудобно, особенно если программа долго работает и требует сложного взаимодейтвия с пользователем. Я что-то делаю не так? Нельзя ли как-то добиться, чтобы послы имполнения скрипта или его дебаггинга его результаты оставались доступными?

Hellerick

Выполнил школьное задание, программа для кодирования/декодирования шифра Цезаря.

print("""== Caesar's encryption/decryption algorithm ==
To switch between encryption/decryption modes, enter a single 'e' or 'd'.
To input encryption key, enter a number 1...25.
To quit, enter 0.""")

def cipher(t):
    d = {chr(ord('a')+i):chr(ord('a')+(i+key*encrypt)%26) for i in range(26)}
    d.update({chr(ord('A')+i):chr(ord('A')+(i+key*encrypt)%26) for i in range(26)})
    return ''.join([d[c] if c.isalpha() else c for c in t])

go_on = True
encrypt = 1
key = 0

while go_on:
    u = input()
    if u in [str(i+1) for i in range(25)]:
        key = int(u)
        print('<Encryption key switched to %d>'%key)
    elif u == '0':
        go_on = False
        print('<Quit>')
    elif u == 'e':
        encrypt = 1
        print('<Switched to encryption mode>')
    elif u == 'd':
        encrypt = -1
        print('<Switched to decryption mode>')
    else:
        print(cipher(u))


Хотелось бы услышать какую-нибудь критику. По организации, по оформлению, по чему-то еще.

Hellerick

Сделал себе сшивалку JPEG и PNG картинок в PDF.

import os
from PIL import Image as image
from reportlab.pdfgen import canvas
from reportlab.lib.units import mm


maxpagesize = (140*mm, 193*mm)


def convertfolder(folder):
    if folder[-1] in ('/' or '\\'): folder = folder[:-1]
    print('Proceding the folder "%s"'%folder)
    filelist = os.listdir(folder)
    filelist = [os.path.join(folder, i)
        for i in filelist if
            i[-4:].lower() =='.png' or
            i[-4:].lower() =='.jpg' or
            i[-5:].lower() =='.jpeg']
    filelist.sort()
    pdffilename = folder + '.pdf'
    c = canvas.Canvas(pdffilename, pagesize=maxpagesize)
    for f in filelist:
        with image.open(f) as i:
            scale = min(maxpagesize[0]/i.size[0], maxpagesize[1]/i.size[1])
            pagesize = (scale*i.size[0], scale*i.size[1])
        c.setPageSize(pagesize)
        c.drawImage(f, 0, 0, *pagesize)
        c.showPage()
    c.save()


def convertfolderlist(folderlist):
    folderlist = folderlist.split('\n')
    folderlist = [i for i in folderlist if i!='']
    for i in folderlist: convertfolder(i)


if __name__=="__main__":
    convertfolderlist("""
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 01
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 02
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 03
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 04
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 05
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 06
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 07
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 08
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 09
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 10
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 11
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 12
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 13
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 14
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 15
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 16
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 17
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 18
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 19
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 20
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 21
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 22
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 23
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 24
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 25
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 26
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 27
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 28
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 29
/home/hellerick/Documents/Akiba/Manga/Mangajin/Vol 30
""")


Опять-таки, критика любого рода приветствуется.

Hellerick

Мне одному кажется, что разный подход к мутабельным и иммутабельным объектам, никак не отраженный в синтаксисе языка — это наглое нарушение принципа "явное лучше неявного"?

Я про то, что по записи a=b невозможно заранее сказать, идет ли речь о приравнивании или отождествлении.

Vertaler

Так тема не про бейсик вроде, а про паскаль.  :umnik:
Стрч прст в крк и вынь сухим.

Vertaler

Стрч прст в крк и вынь сухим.

Hellerick


Vertaler

Цитата: Hellerick от марта  9, 2017, 12:51
Мне ваше высказывание не стало понятнее.
A = b имеет два значения только в бейсике из известных мне языков.
Стрч прст в крк и вынь сухим.

Lodur

Цитата: Upliner от июня 30, 2016, 13:51компилятор языка C, написанный на C
Он, всё ж таки, немножко откомпилированный, так что без разницы. Это не то.
8-й Девственник Лингвофорума

If the doors of perception were cleansed, everything would appear to man as it is: infinite. (W. Blake)
Какая потребителю разница, какой продукт лучше не работает?.. (Awwal12)

Upliner

Цитата: Lodur от марта  9, 2017, 13:01
Цитата: Upliner от июня 30, 2016, 13:51компилятор языка C, написанный на C
Он, всё ж таки, немножко откомпилированный, так что без разницы. Это не то.
В смысле "немножко откомпилированный"? Где в svn-е gcc откомпилированные файлы?
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр