On 26/02/12 23:29, Sukhpreet Sdhu wrote:
import string
Are you using a very old versioon opf python?
If not you should not use string.
The built in string methods can do everything you
want without resorting to string.
print "Welcome to the numeric conversion program"
print "Please enter command"
data=raw_input()
now = 0
previous = 0
total = 0
if data == "r":
print "Enter roman numeric to convert in arabic"
roman_numeric=string.swapcase(raw_input("Enter the Roman Numeral to convert to
arabic"))
Are you sure you want swapcase()? I'd have thought uppercase()
would be more effective given the tests below.
Using built in methods that line becomes:
roman_numeric=raw_input("Enter the Roman Numeral to convert to
arabic").uppercase()
if roman_numeric == ("M" or "D" or "L" or "C" or "L" or "X" or "V" or "I"):
This is just wrong!
The parenthesised list will evaluate to True so you are testing if the
variable is True, which it will be if not empty.
You want:
if roman_numeric in ("M","D","L","C","L","X","V","I"):
Length = len(roman_numeric) - 1
If the variable is one of the items in your list it is only 1 char long
so you re setting Length to zero. Is that what you want?
i = roman_numeric[Length]
If you really want to extract the last digit use a -1 index.
In which case you dshould do the same for the check on valid values...
if i == "M":
now = 1000
if i == "D":
now = 500
Are you sure you want this structure?
It would look a lot neater using elif
if i == "M":
now = 1000
elif i == "D":
now = 500
elif i == "C":
now = 100
But better still would be to use a dictionary:
values = { 'I':1, 'V':5, 'X':10,...'D':500, 'M':1000 }
now = values[i]
acc = now
if (previous>= now):
total += acc-prvious
spelling error in prvious
print "The total is",total
if (previous<= now):
total += acc-prevous
print "The total is",total
else :
This else doesn't line up with any if.
> if data == "a" :
else:
if <cond>:
could just be
elif <cond>:
HTH,
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor