С рядом проверок для обеспечения это соответствует минимальным критериям:
Вот плагин jQuery, который сообщает о надежности пароля (не попробованный это самостоятельно): http://phiras.wordpress.com/2007/04/08/password-strength-meter-a-jquery-plugin/
И то же самое, портированное к PHP: http://www.alixaxel.com/wordpress/2007/06/09/php-password-strength-algorithm/
Может быть лучше, но это должно работать
tuple([10*x for x in img.size])
питонический способ будет использовать понимание списка:
y = tuple([z * 10 for z in img.size])
Другой способ может быть:
y = tuple(map((10).__mul__, img.size))
Вероятно, есть более простой способ, чем этот, но
print map(lambda x: 10*x, img.size)
будет делать почти то, что вы хотите, хотя он печатается в виде списка, а не кортежа. Оберните вызов map
внутри кортежа (map ...)
, если вы хотите, чтобы он печатался как кортеж (круглые скобки, а не квадратные скобки).
Это происходит из-за того, что подсистема COM пытается упорядочить ваш пользовательский интерфейс (IMyInterface) и просто не знает, как это сделать. Это происходит либо из-за того, что сервер не обрабатывается, либо из-за того, что сервер находится в процессе, а поток приложения-потребителя, который вызывает CoCreateInstance (), неправильно вызвал CoInitialize () / CoInitializeEx (), поэтому запрашивается "многопоточная квартира", как упоминалось в статье пользователь Томас упоминает в другом ответе.
Если вам нужен только внутрипроцессный сервер, вы можете подавить маршаллинг, убедившись, что поток, вызывающий CoCreateInstance (), либо вызывает CoInitialize (), либо CoInitializeEx () с COINIT_APARTMENTTHREADED для обеспечения «однопоточного апартамента».
Если вам нужен внепроцессный сервер, вы не сможете обойтись без маршаллинга.
Если у вас возникает эта проблема чаще и с большими кортежами или списками, вы можете использовать библиотеку numpy , которая позволяет выполнять все виды математических операций с массивы. Однако в этой простой ситуации это было бы полным излишеством.