Tracubik wrote:
hi, i've to convert from Pascal this code:

iterations=0;
count=0;
REPEAT;
  iterations = iterations+1;
  ...
  IF (genericCondition) THEN count=count+1;
  ...
  CASE count OF:
        1: m = 1
        2: m = 10
        3: m = 100
UNTIL count = 4 OR iterations = 20

i do something like this:

iterations = 0
count = 0

m_Switch = (1,10,100)

while True:
        iterations +=1
        ...
        if (genericCondition):
                count +=1
        ...
        try:
                m = m_Switch[count-1]
        except: pass
        if count = 4 or iterations = 20

the problem is that when count = 4 m_Switch[4-1] have no value, so i use the try..except.

Is there a better solution to solve this problem? and, generally speaking, the try..except block slow down the execution of the program or not?

Use a dict:

    m_Switch = {1: 1, 2: 10, 3: 100}

and then catch the KeyError.

Don't use a bare 'except', catch the specific exception you want to
catch, and don't worry about the speed unless you discover that it's
real problem.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to