Numbers in python

brainy_muppet at hotmail.com brainy_muppet at hotmail.com
Fri Mar 10 09:41:27 EST 2006


Basically, I have a code with is almost finished but I've having
difficultly with the last stage of the process. I have a program that
gets assigns different words with a different value via looking them up
in a dictionary:

eg if THE is in the writing, it assigns 0.965

 and once the whole passage is read it returns all the numbers in the
format as follows:

['0.965', '1.000', '0.291', '1.000', '0.503']

However, I can't seem to get the program to treat the numbers as
numbers. If I put them in the dictionary as 'THE' = int(0.965) the
program returns 1.0 and if I put 'THE' = float(0.965) it returns
0.96555555549 or something similar. Neither of these are right! I
basically need to access each item in the string as a number, because
for my last function I want to multiply them all together by each
other.

I have tried two bits of code for this last bit, but neither are
working (I'm not sure about the first one but the second one should
work I think if I could figure out how to return the values as
numbers):

1st code
value = codons[x] * codons[x+1]
x = (int)
x = 0

print value

x +=2

if (x<r):
    new_value = value * codons[x]
    value = new_value
    x +=1
else:
    print new_value

This gives the error message
Traceback (most recent call last):
  File "C:\Python24\code2", line 88, in -toplevel-
    value = codons[x] * codons[x+1]
NameError: name 'x' is not defined

Code 2 - the most likely code
prod = 1
for item in (codons): prod *= item
prod
print prod

Gives this error message:
Traceback (most recent call last):
  File "C:\Python24\code2", line 90, in -toplevel-
    for item in (codons): prod *= item
TypeError: can't multiply sequence by non-int


Anyone got any ideas?
Dave.




More information about the Python-list mailing list