[Tutor] printing multiple values from a list in one command

Dragonfirebane at aol.com Dragonfirebane at aol.com
Sun Jun 6 01:21:33 EDT 2004


Hello all,

I am trying to write a number-binary-hexadecimal translator than can also act 
as a makeshift text-binary converter (a is assigned to 01, b to 10, c to 11, 
etc). However, when I try to write the code such that when the text to be 
translated is in the lowercase (the first half of ascii_letters), the program 
should print the corresponding value in binary.  Short of defining each letter as 
a binary number, does anyone have any suggestions? The code as is (not 
working) is below:

def convertxt():
        if char in alphabet[range(0-26)]:
            print binary[range(0-26)]
        elif char in alphabet[range(27-52)]:
            print binary[range(27-52)]
        elif char not in alphabet:
            print "Sorry, you didn't enter valid text. Please enter standard 
letters only."
def convertnum():
    whichconv = raw_input("""Convert to:
1: Binary
2: Hexadecimal
""")
    if whichconv in('1','Binary','binary','b'):
        if char in number:
            print binary[int(original) - 1]

from string import *
import time

alphabet = [ascii_letters]
binary = 
['01','10','11','100','101','110','111','1000','1001','1010','1011','1100','1101','1110','1111','10000','10001','10010','10011','10100','10101','10
110','10111','11000','11001','11010','11011','11100','11101','11110','11111','
100000','100001','100010','100011','100100','100101','100110','100111','101000
','101001','101010','101011','101100','101101','101110','101111','110000','110
001','110010','110011','110100','110101','110110','110111','111000','111001','
111010','111011','111100','111101','111110','111111','1000000','1000001','1000
010','1000011','1000100','1000101','1000110','1000111','1001000','1001001','10
01010','1001011','1001100','1001101','1001110','1001111','1010000','1010001','
1010010','1010011','1010100','1010101','1010110','1010111','1011000','1011001'
,'1011010','1011011','1011100','1011101','1011110','1011111','1100000','110000
1','1100010','1100011','1100100','1100101','1100110','1100111','1101000','1101
001','1101010','1101011','1101100','1101101','1101110','1101111','1110000','11
10001','1110010','1110011','1110100','1110101','1110110','1110111','1111000','
1111001','1111010','1111011','1111100','1111101','1111110','1111111','10000000
','10000001','10000010','10000011','10000100','10000101','10000110','10000111'
,'10001000','10001001','10001010','10001011','10001100','10001101','10001110',
'10001111','10010000','10010001','10010010','10010011','10010100','10010101','
10010110','10010111','10011000','10011001','10011010','10011011','10011100','1
0011101','10011110','10011111','10100000','10100001','10100010','10100011','10
100100','10100101','10100110','10100111','10101000','10101001','10101010','101
01011','10101100','10101101','10101110','10101111','10110000','10110001','1011
0010','10110011','10110100','10110101','10110110','10110111','10111000','10111
001','10111010','10111011','10111100','10111101','10111110','10111111','110000
00','11000001','11000010','11000011','11000100','11000101','11000110','1100011
1','11001000','11001001','11001010','11001011','11001100','11001101','11001110
','11001111','11010000','11010001','11010010','11010011','11010100','11010101'
,'11010110','11010111','11011000','11011001','11011010','11011011','11011100',
'11011101','11011110','11011111','11100000','11100001','11100010','11100011','
11100100','11100101','11100110','11100111','11101000','11101001','11101010','1
1101011','11101100','11101101','11101110','11101111','11110000','11110001','11
110010','11110011','11110100','11110101','11110110','11110111','11111000','111
11001','11111010','11111011','11111100','11111101','11111110','11111111']
number = ['0','1','2','3','4','5','6','7','8','9']
again = True
while again:
    original = raw_input("Please enter numbers or text to be converted. ")
    try:
        int(original)
    except ValueError:
        convertxt()
        pass
    else:
        if char in number:
            convertnum()
    again = input("Would you like to convert more text or letters [y/n]? ")
    if again in 'yY':
        pass
    elif again in 'nN':
        break
        print "Thank you for using Multivert.  Multivert will now close"
        time.sleep(1.1)
        import sys
        sys.exit()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20040606/325f4f09/attachment.html


More information about the Tutor mailing list