[Tutor] (no subject)

Dragonfirebane at aol.com Dragonfirebane at aol.com
Tue Jun 8 16:45:48 EDT 2004


the full code as is is below (not working). as of right now, i'm oncentrating only on the text function since the number converter works fine. the reason i'm using if and not for is that using for creates a loop where the program prints the converted number based on the number of characters in the original number (1100
                 1100) or something of the sort for 12, whereas 'if' prints the same number (1100) once, due to the [print binary[int(original) - 1]] command.

def convertxt(char):
    return binary[alphabet.index(char)]
def convertnum():
    whichconv = raw_input("""Convert to:
1: Binary
2: Hexadecimal
""")
    if whichconv in('1','Binary','binary','bin','b'):
        if char in number:
            print binary[int(original) - 1]
    elif whichconv in('2','Hexadecimal','hexadecimal','hexadec','hex','h'):
        if char in number:
            print hexadec[int(original) - 1]


import time

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
binary = ['01','10','11','100','101','110','111','1000','1001','1010','1011','1100','1101','1110','1111','10000','10001','10010','10011','10100','10101','10110','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','110001','110010','110011','110100','110101','110110','110111','111000','111001','111010','111011','111100','111101','111110','111111','1000000','1000001','1000010','1000011','1000100','1000101','1000110','1000111','1001000','1001001','1001010','1001011','1001100','1001101','1001110','1001111','1010000','1010001','1010010','1010011','1010100','1010101','1010110','1010111','1011000','1011001','1011010','1011011','1011100','1011101','1011110','1011111','1100000','1100001','1100010','1100011','1100100','1100101','1100110','1100111','1101000','1101001','1101010','1101011','1101100','1101101','1101110','1101111','1110000','1110001','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','10011101','10011110','10011111','10100000','10100001','10100010','10100011','10100100','10100101','10100110','10100111','10101000','10101001','10101010','10101011','10101100','10101101','10101110','10101111','10110000','10110001','10110010','10110011','10110100','10110101','10110110','10110111','10111000','10111001','10111010','10111011','10111100','10111101','10111110','10111111','11000000','11000001','11000010','11000011','11000100','11000101','11000110','11000111','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','11101011','11101100','11101101','11101110','11101111','11110000','11110001','11110010','11110011','11110100','11110101','11110110','11110111','11111000','11111001','11111010','11111011','11111100','11111101','11111110','11111111']
number = ['0','1','2','3','4','5','6','7','8','9']
hexadec = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','10','11','12','13','14','15','16','17','18','19','1A','1B','1C','1D','1E','1F','20','21','22','23','24','25','26','27','28','29','2A','2B','2C','2D','2E','2F','30','31','32','33','33','34','35','36','37','38','39','3A','3B','3C','3D','3E','3F','40','41','42','43','44','45','46','47','48','49','4A','4B','4C','4D','4E','4F','50','51','52','53','54','55','56','57','58','59','5A','5B','5C','5D','5E','5F','60','61','62','63','64','65','66','67','68','69','6A','6B','6C','6D','6E','6F','70','71','72','73','74','75','76','77','78','79','7A','7B','7C','7D','7E','7F','80','81','82','83','84','85','86','87','88','89','8A','8B','8C','8D','8E','8F','90','91','92','93','94','95','96','97','98','99','9A','9B','9C','9D','9E','9F','A1','A2','A3','A4','A5','A6','A7','A8','A9','AA','AB','AC','AD','AE','AF','B0','B1','B2','B3','B4','B5','B6','B7','B8','B9','BA','BB','BC','BD','BE','BF','C0','C1','C2','C3','C4','C5','C6','C7','C8','C9','CA','CB','CC','CD','CE','CF','D0','D1','D2','D3','D4','D5','D6','D7','D8','D9','DA','DB','DC','DD','DE','DF','E0','E1','E2','E3','E4','E5','E6','E7','E8','E9','EA','EB','EC','ED','EE','EF','F0','F1','F2','F3','F4','F5','F6','F7','F8','F9','FA','FB','FC','FD','FE','FF']
again = True
while again:
    original = raw_input("Please enter numbers or text to be converted. ")
    try:
        int(original)
        pass
    except ValueError:
        convertxt(char)
        print convertxt(original)
        pass
    else:
        if char in number:
            convertnum()
            pass
    again = raw_input("Would you like to convert more text or letters [y/n]? ")
    if again in 'Yy':
        again = True
    elif again in 'Nn':
        again = False
print "Thank you for using Multivert.  Multivert will now close"
time.sleep(1.1)
import sys
sys.exit()


In a message dated 6/8/2004 12:21:36 PM Eastern Daylight Time, lsloan-000002 at umich.edu writes:

> --On Monday, June 7, 2004 11:36 PM -0400 Dragonfirebane at aol.com wrote:
> >   else:
> >       if char in number:
> >           convertnum()
> >           pass
> 
> I think you don't want "if".  You want "for":
> 
>  for char in number:
> 
> And you should pass that value into your function:
> 
>    convertnum( char )
> 
> And change your function definition to accept the value, as Jeremy 
> sugegsted:
> 
>  def convertxt( char ):
> 
> Also, I think you're going to run into other problems.  For example, where 
> do you define "alphabet"?
> 
> >> > def convertxt():
> >> >     if char in alphabet[:26]:
> >> >         print binary[alphabet.index(original)]
> >> >     elif char in alphabet[26:]:
> >> >         print binary[alphabet.index(original)]
> 
> --
> Lance E Sloan, Systems Research Programmer III
> U-M WATS: Web Applications, Technologies, and Solutions
> Full-service web and database design, development, and 
> hosting.
> http://www.itcs.umich.edu/wats/ - "Putting U on the Web"

"n thats the way the cookie crumbles"

America's Favorite Cookie


More information about the Tutor mailing list