randrange loops

L

luislupe

Hi,


I've created a method where the script defines twenty variables and
several of them should be random having a maximum and a minimum value.

What I did was this:

from random import randrange as rr, random

self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
1) # just an example, others are similar

The minimum and maximum limits are never lower than -50 and higher
than 250 and are integer.

Many times, not always, the problem is that the script just loops
forever and no value is chosen for the variable.

What's happening here? What am I doing wrong?

Thank you for any help.


Luis
 
P

Peter Otten

I've created a method where the script defines twenty variables and
several of them should be random having a maximum and a minimum value.

What I did was this:

from random import randrange as rr, random

self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
1) # just an example, others are similar

The minimum and maximum limits are never lower than -50 and higher
than 250 and are integer.

Many times, not always, the problem is that the script just loops
forever and no value is chosen for the variable.

What's happening here? What am I doing wrong?

You don't provide enough information. Please show as a small script that
demonstrates the behaviour you describe.

Peter
 
C

Cédric Lucantis

Le Sunday 15 June 2008 20:23:56 (e-mail address removed), vous avez écrit :
Hi,


I've created a method where the script defines twenty variables and
several of them should be random having a maximum and a minimum value.

What I did was this:

from random import randrange as rr, random

self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
1) # just an example, others are similar

self.rr ? is it a typo or some method you defined yourself ?
The minimum and maximum limits are never lower than -50 and higher
than 250 and are integer.

Many times, not always, the problem is that the script just loops
forever and no value is chosen for the variable.

What's happening here? What am I doing wrong?

as it's very unlikely to be a bug in the randrange function I'd say something
is wrong with your script but we'll need more infos to help. Can you post the
whole function ?
 
T

Terry Reedy

| Hi,
|
|
| I've created a method where the script defines twenty variables and
| several of them should be random having a maximum and a minimum value.
|
| What I did was this:
|
| from random import randrange as rr, random
|
| self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
| 1) # just an example, others are similar

Are we to presume that self.rr is rr?

| The minimum and maximum limits are never lower than -50 and higher
| than 250 and are integer.
|
| Many times, not always, the problem is that the script just loops
| forever and no value is chosen for the variable.
|
| What's happening here? What am I doing wrong?

On what line does it 'loop forever'?
Are you saying that the same code with same input sometimes works and
sometimes does not? In any case, try to reduce it to the minumum that
either always or sometimes fails. And post that.

tjr
 
L

luislupe

| Hi,
|
|
| I've created a method where the script defines twenty variables and
| several of them should be random having a maximum and a minimum value.
|
| What I did was this:
|
| from random import randrange as rr, random
|
| self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
| 1) # just an example, others are similar

Are we to presume that self.rr is rr?

| The minimum and maximum limits are never lower than -50 and higher
| than 250 and are integer.
|
| Many times, not always, the problem is that the script just loops
| forever and no value is chosen for the variable.
|
| What's happening here? What am I doing wrong?

On what line does it 'loop forever'?
Are you saying that the same code with same input sometimes works and
sometimes does not? In any case, try to reduce it to the minumum that
either always or sometimes fails. And post that.

tjr


I tried to reproduce the error in a small script. Python's error
message always returned this kind of error:

Traceback (most recent call last):
File "individuo.py", line 584, in <module>
ind.criarAleatorio()
File "individuo.py", line 247, in criarAleatorio
self.criarTr2_vezes()
File "individuo.py", line 185, in criarTr2_vezes
self.tr2_vezes = self.rr(self.d_tr2_vezes[0],self.d_tr2_vezes[-1],
1)
File "/usr/lib/python2.5/random.py", line 158, in randrange
istart = int(start)
KeyboardInterrupt

I got mislead by this. The loop was about a while statement that
compared values from two of the random variables. It was a '>=' and
it should be a '>'.

Thank you for your messages.


Luis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,160
Latest member
CollinStri
Top