need help translating a PHP for statement to python
Paul Rubin
http
Sat Jan 10 04:15:53 EST 2004
More information about the Python-list mailing list
Sat Jan 10 04:15:53 EST 2004
- Previous message (by thread): need help translating a PHP for statement to python
- Next message (by thread): need help translating a PHP for statement to python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
dmm at machinic.net (Davis Marques) writes: > I'm translating some PHP scripts to Python and have hit a roadblock > with a for statement. If someone could explain to me how one should > translate the multiple increment, evaluations, etc. in the first line > I would appreciate it deeply ... > > for ($y = 0, $x = $cx-$cy-1; $y <= $cy; ++$y,++$x) { > $prd = $q * $y_ar[$y] + $car; > $prd -= ($car = intval($prd / 1E7)) * 1E7; > if ($bar = (($x_ar[$x] -= $prd + $bar) < 0)) $x_ar[$x] += 1E7; > } Python is more verbose than PHP when it comes to stuff like that. You have to expand things: x = cx - cy - 1 for y in xrange(cy+1): prd = q * y_ar[y] + car; car = intval(prd / 1E7) prd -= car * 1E7; x_ar[x] -= prd + bar bar = (x_ar[x] < 0) # is this REALLY what you wanted? if bar: x_ar[x] += 1E7; x += 1 You can more closely approximate the two parallel loops with the iterzip function in the new itertools package, but that only works with the latest Python versions. I suspect that your if statement was actually supposed to say if (($bar = ($x_ar[$x] -= $prd + $bar)) < 0) $x_ar[$x] += 1E7; but I don't know what you're really trying to do.
- Previous message (by thread): need help translating a PHP for statement to python
- Next message (by thread): need help translating a PHP for statement to python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list