Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

12.01.2010, 23:27
|
|
Познающий
Регистрация: 20.02.2009
Сообщений: 86
Провел на форуме: 183326
Репутация:
7
|
|
Код:
import sys
import string
if len(sys.argv)<2:
print "Usage: leap.py year, year, year."
sys.exit(0)
for i in sys.argvj[:]:
try:
y=string.atoi(i)
except:
print i,"is not a year."
continue
leap="no"
if y%400==0:
leap="yes"
elif y*100==0:
leap="no"
elif y%4==0:
leap="yes"
else:
leap="no"
print y, "leap:", leap, "in the Gregorian calendar"
if y%4==0:
leap="yes"
else:
leap="no"
print y, "leap:", leap, "in the Julian calendar"
print "Calculated leapness for", len { sys.argv ) - 1, "years"
Посмотрите пожалуйста что не так с Кодом 
|
|
|

12.01.2010, 23:33
|
|
Banned
Регистрация: 07.01.2010
Сообщений: 132
Провел на форуме: 63422
Репутация:
8
|
|
Кто знает... ?
Код:
...
gamma_N=round(float(gamma_0**2),8)
#print '%F' %(gamma_N)
i=i+1
ls=str(gamma_N)
ls=ls[2:9]
ls='0.'+ls
print '%F' %(float(ls))
lch=round(float(ls)**2,8)
gamma_0=lch
print ''
...
Это часть метода серединных квадратов... проблема в том, что после получения среза строки, необходимо преобразовать строку во флоат, но как выяснилось переменная получает число в экспоненциальном виде: 0.5e+006 , что нить такое.. ну и следовательно не получается перегнать во флоат.. Как избежать такой формы записи?! надо чтоб было 0.0000005 например, без всяких e....
|
|
|

13.01.2010, 01:30
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
win server 2003
как посмотреть?
в консоле мускул сервера набрать команду хммм если честно не помню =)
попробуйте поискать в интернете или сделать вот что: после завершения скрипта в консоле мускула введите mysql_error это пакежет последнюю ошибку (тоесть ошибку подключения вашего клиента)
|
|
|

13.01.2010, 01:35
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
экспоненциальном виде: 0.5e+006 , что нить такое.. ну и следовательно не получается перегнать во флоат.. Как избежать такой формы записи?! надо чтоб было 0.0000005 например, без всяких e....
если память не подводит то перед преобразованием надо использовать функцию abs()
|
|
|

18.01.2010, 17:51
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
Помогите с регулярками плиз =)
Блин что-то я их не понимал и понять не могу =(
Помогите составит регулярку чтоб выдрать строку вида: http://****.ru или http://***.***.ru Буду благодарен =)
|
|
|

18.01.2010, 18:29
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от gold-goblin
Помогите с регулярками плиз =)
Блин что-то я их не понимал и понять не могу =(
Помогите составит регулярку чтоб выдрать строку вида: http://****.ru или http://***.***.ru Буду благодарен =)
Код:
import re
data = "http://vasya.ru ,http://super.vasya.ru"
links_1 = re.findall(r'''(http\:\/\/.*?\.ru)''', data)
links_2 = re.findall(r'''(http\:\/\/.*?\..*?\.ru)''', data)
links_3 = re.findall(r'''(http\:\/\/.*?\.ru)|(http\:\/\/.*?\..*?\.ru)''', data)
print links_1
print links_2
print links_3
Правда не совсем то
|
|
|

20.01.2010, 00:40
|
|
Новичок
Регистрация: 08.01.2010
Сообщений: 11
Провел на форуме: 14160
Репутация:
0
|
|
по регуляркам вот тут хорошая статьи
http://www.intuit.ru/department/pl/python/6/5.html
там есть скрипт дебаг регулярных выражений
тут такой вопрос возник
как перезапустить скрипт? т.е. не стартануть его "копию" после завершения
а именно чтобы программа начала выполняться сначала
update
нашел вроде бы простое решение
сделать бесконечный цикл
while True:
какие подводные камни могут всплыть?
Последний раз редактировалось Vaal; 20.01.2010 в 01:11..
|
|
|

20.01.2010, 20:23
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Vaal
по регуляркам вот тут хорошая статьи
http://www.intuit.ru/department/pl/python/6/5.html
там есть скрипт дебаг регулярных выражений
тут такой вопрос возник
как перезапустить скрипт? т.е. не стартануть его "копию" после завершения
а именно чтобы программа начала выполняться сначала
update
нашел вроде бы простое решение
сделать бесконечный цикл
while True:
какие подводные камни могут всплыть?
Для дебага регулярок есть Kodos.
Относительно бесконечной работы - всё зависит от того, что ты хочешь именно, но обычно while True хватает за глаза.
|
|
|

20.01.2010, 14:24
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
Бесконечный цикл самое надежное решение (ИМХО).
Подводных камней быть не должно. Могут возникнуть проблемы с потоками (если ты их используешь) при условии что 1 из потоков не завершится (со временем их станет очень много.)
|
|
|

21.01.2010, 01:12
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Idainet
Vaal,
через рекурсию
Враки.
Код:
#! /usr/bin/env python
#-*-encoding:UTF-8-*-
import sys
print u"Ваша функция может выполниться максимум {0} раз".format(sys.getrecursionlimit())
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|