SEDOLs: Difference between revisions

66 bytes removed ,  15 years ago
→‎{{header|Python}}: Original version was not improved.
(→‎{{header|Python}}: Original version was not improved.)
Line 287:
 
=={{header|Python}}==
<python>import string
import string
 
# constants
def checksum(sedol):
checksum.sedolchars = string.digits + string.ascii_uppercase
tmp = sum(checksum.sedol2value[ch] * checksum.sedolweight[n]
sedol2value = dict((ch, n) for n,ch in enumerate(sedol[:6]sedolchars))
for ch in "'AEIOU"':
return checksum.sedolchars[ (10 - (tmp % 10)) % 10]
del checksum.sedol2value[ch]
checksum.sedolchars = sorted(checksum.sedol2value.keys())
checksum.sedolweight = [1, 3, 1, 7, 3, 9, 1]
 
#def checksum function object constants(sedol):
tmp = sum(checksum.sedol2value[ch] * checksum.sedolweight[n]
checksum.sedolchars = string.digits + string.ascii_uppercase
checksum.sedol2value = dict((ch, n) for n, ch in enumerate(checksum.sedolchars)sedol[:6])
)
for ch in "AEIOU":
return checksum.sedolchars[ (10 - (tmp % 10)) % 10]
del checksum.sedol2value[ch]
checksum.sedolchars = sorted(checksum.sedol2value)
checksum.sedolweight = [1, 3, 1, 7, 3, 9, 1]
 
for sedol in """710889 B0YBKJ 406566 B0YBLH 228276'''
710889
B0YBKL 557910 B0YBKR 585284 B0YBKT""".split():
B0YBKJ
406566
B0YBLH
228276
B0YBKL
557910
B0YBKR
585284
B0YBKT
'''.split():
print sedol + checksum(sedol)
</python>
Anonymous user