Найти - Пользователи
Полная версия: нужно зациклить код
Начало » Python для новичков » нужно зациклить код
1 2
ilalexey
В общем - даётся тяжело.
глобал/локал так и не смог понять(
В 3д графике это понятно в принципе..
И что такое “b-” ?
а если обматюкать это так?:
01  from math import *
02 DO=55.9957974644
03 print "old DO =",DO
04 L4=30.280
05 L5=36.775
06 dd=7
07 def main(DO):
08 AP=acos(DO/(2*L5))
09 AS=acos(DO/(2*L4))
10 APS=AP-AS
11 dDO=((tan(AP)-tan(AS)-dd/DO)/APS-1)*DO
12 DOn=DO+dDO
13 print "new DO =",DOn
14 print "dDO =",dDO
15 main(DO)
т.е. заменить в 12 строчке название переменной на “DOn”
Как может выглядеть пример тогда?
hellslade
ilalexey
В общем - даётся тяжело.
А никто не говорил, что это будет легко ;)
ilalexey
И что такое “b-” ?
это не b- конструция b-=1 идентична такой b=b-1
igor.kaist
a=0
b=20
def do():
global b
b-=1
while a<>b:
do()
вот же решение, просто малость подумать надо и написать цикл, применительно к вашей задаче :)
передаете в функцию DO, она возвращает новое значение, если оно не равно старому значению, тогда их приравниваете и опять запускаете функцию :)
Rodegast
Насколько я понял тебе вот что надо (на работоспособность и оптимальность не проверял!):
from math import *
L4=30.280
L5=36.775
dd=7
DO=55.9
print "old DO =",DO
newDO = DO

AP=acos(newDO/(2*L5))
AS=acos(newDO/(2*L4))
APS=AP-AS
dDO=((tan(AP)-tan(AS)-dd/newDO)/APS-1)*newDO
newDO+=dDO
print "new DO =",newDO
print "dDO =",dDO

while DO != new DO:
AP=acos(newDO/(2*L5))
AS=acos(newDO/(2*L4))
APS=AP-AS
dDO=((tan(AP)-tan(AS)-dd/newDO)/APS-1)*newDO
newDO+=dDO
print "new DO =",newDO
print "dDO =",dDO
ilalexey
Есть другая проблема - цикл не останавливается.
На самом деле равенство должно происходить, если число округлено до скажем 10 знака после запятой.
Питон щитает намного точное число и лиш высвечивает не много. В оригинале равенство там не может получиться на все 100 процентов.
Yurietc
Иногда вместо
DO != newDO
пишут
abs(DO-newDo)>eps
погрешность eps задаете по своему усмотрению.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB