[Tutor] string conversion and formatters
Lloyd Kvam
pythontutor@venix.com
Fri, 07 Dec 2001 15:19:48 -0500
I made this change:
elif choice == "b":
hex_string = raw_input("Hex: ")
hex = int(hex_string, 16)
print "Decimal: %d" % (hex)
The raw_input is a string. The %d print format expects an integer.
Fortunately, the int function allows you to specify the base for your string
when converting to integer. You will get an error if you specify a base
larger than 36.
Spiffy wrote:
> Hello! I am just beginning to learn programming and
> Python. I am teaching myself using online tutorials
> and documentation. Concerning output formatters...as
> in "%d", "%s", etc. I know I have seen a listing of
> all the types somewhere in the documentation, but for
> the life of me I cannot relocate it. Where can I find
> it?
> Now for the real question. Here is my first real
> program. It is supposed to be a decimal/hex
> convertor...
> #Decimal/Hex Convertor
>
> def print_options():
> print "Options:"
> print " 'a' decimal to hex"
> print " 'b' hex to decimal"
> print " 'c' print options"
> print " 'd' quit"
>
> choice = "c"
> while choice != "d":
> if choice == "a":
> dec = input("Decimal: ")
> print "Hex: %X" % (dec)
> elif choice == "b":
> hex = raw_input("Hex: ")
> print "Decimal: %d" % (hex)
> elif choice != "d":
> print_options()
> choice = raw_input("option: ")
>
> If you run this program, it works fine until you try
> to convert hex to decimal. Why does this not work? I
> have tried using "string.atoi" and some other things,
> but no luck. I am stumped. Please, give me some
> explanations or hints to point me in the right
> direction...I would very much appreciate it!
>
> By the way, I'm using Python2.2 on Windows 98.
> Thanks,
>
> Spiffy
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Send your FREE holiday greetings online!
> http://greetings.yahoo.com
>
> _______________________________________________
> Tutor maillist - Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
--
Lloyd Kvam
Venix Corp.
1 Court Street, Suite 378
Lebanon, NH 03766-1358
voice:
603-443-6155
fax:
801-459-9582