Ноу хау - от мастеров на заметку

-

Программирование на Python



dimy44


репутация: 528
на сайте с 2006 года
сообщений: 2471

HTC One S

Евпатория

Возраст - 49

#71

JOIN_ME,
112 пары? Некорректно.
-------------
добавлено в 00.17: ну т.е. в первое условие надо добавить or ('%02d' % num)[-2] == '1'

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#72

Тогда так


def love(num):
dec, last = divmod(num, 10)
if divmod(dec, 10)[1] == 1 or last == 0 or last > 4: end = 'пap'
elif last == 1: end = 'пapa'
else: end = 'пapы'
return end

dimy44


репутация: 528
на сайте с 2006 года
сообщений: 2471

HTC One S

Евпатория

Возраст - 49

#73

не ленитесь показать хоть что-то, свидетельствующее о том, что программа не висит, а идет загрузка, вот простейший пример

import appuifw as aw
import e32
def show(k=0):
if not f: return
k = (k + 1, 0)[k == 3]
aw.app.title = u'Loading%s' % ('.' * k)
e32.ao_sleep(0.3, lambda: show(k))
def start():
global f, oldtitle
f = 1
oldtitle = aw.app.title
show()
def stop():
global f
f = 0
aw.app.title = oldtitle

#example:
import urllib
start()
urllib.urlopen('https://dimonvideo.ru/').read()
stop()

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#74

k = (k + 1, 0)[k == 3]
=>
k += 1
k %= 4

dimy44


репутация: 528
на сайте с 2006 года
сообщений: 2471

HTC One S

Евпатория

Возраст - 49

#75

я на коленке писАл, да и не было целью шаблон предложить, скорее призыв, основываясь на имхо. Не хочешь выводить окошко- ради бога, но хотя б так, юзер видет изменения на дисплее, и понимает, что процесс идет. Интерфейс- лицо приложения, не забивайте болт. Вот).
-------------
добавлено в 14.26: навеяно просто, проекты скачиваю ради любопытства, черт знает какая версия уже, а как было, так и осталось: нажал "загрузить", и тупо смотришь на застывший экран.

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#76

Дык я не против. Я наоборот с тобой солидарен. Просто заострил на одном моменте внимание и предложил свой вариант с упрощенной формой. Кстати, очень удобно использовать эти операции для вычисления позиции курсора в циклической прокрутке. Например у нас позиция превышает длину списка, то сразу приравнивается к 0, а если меньше нуля, то сразу в конец.

dimy44


репутация: 528
на сайте с 2006 года
сообщений: 2471

HTC One S

Евпатория

Возраст - 49

#77

да я это... Тоже ж не спорю, сам вижу, мой вариант более громоздкий, пусть другие участники форума сами увидят и возьмут на вооружение. Иии... Тогда ладно. В твоем посте выше мне кажется тоже более уместней будет dec % 10, чем divmod(dec, 10)[1].

Punk_Joker


репутация: 26
на сайте с 2009 года
сообщений: 64

Nokia N9

Украина

Возраст - 25

#78

Узнаем физические размеры экрана в мм

from sysinfo import display_twips
x=display_twips()
r=[]
for a in x:
r.append(round(a/567.0)*10)
print r

Virtuos86


репутация: 101
на сайте с 2008 года
сообщений: 802

где-то в России

#79

>>> [round(i/567.0) for i in __import__('sysinfo').display_twips()]
[4.0, 5.0]

dimy44


репутация: 528
на сайте с 2006 года
сообщений: 2471

HTC One S

Евпатория

Возраст - 49

#80

Чебы тоже такого написать... Переключалка). Недавно встретил такой участок кода, схематично:
if x == 100: x = 0
elif x == 0: x = 100
громоздкая конструкция. Можно заменить на
x ^= 100


Напомнить пароль