Question: (python3.5.1 )Write a new version of the program that converts an integer into its English name (found in int_name.py) to use a dictionary instead of

(python3.5.1)Write a new version of the program that converts an integer into its English name (found in "int_name.py") to use a dictionary instead of if statements.

##(Int_name,py:) ####

# This program turns an integer into its English name. #

def main() : value = int(input("Please enter a positive integer < 1000000000: ")) print(intName(value))

## Turns a number into its English name. # @param number a poistive integer < 1,000,000,000 # @return the name of the number (e.g. "two hundred seventy four") # def intName(number) : name = "" part = number

if part >= 1000000 : name = name + intName1000(part // 1000000) + " million " part = part % 1000000

if part >= 1000 : name = name + intName1000(part // 1000) + " thousand " part = part % 1000

if part >= 1 : name = name + intName1000(part) part = part

return name

## Turns a number into its English name. # @param number a poistive integer < 1,000 # @return the name of the number (e.g. "two hundred seventy four") # def intName1000(number) : part = number # The part that still needs to be converted. name = "" # The name of the number.

if part >= 100 : name = digitName(part // 100) + " hundred" part = part % 100

if part >= 20 : name = name + " " + tensName(part) part = part % 10 elif part >= 10 : name = name + " " + teenName(part) part = 0

if part > 0 : name = name + " " + digitName(part)

return name

## Turns a digit into its English name. # @param digit an integer between 1 and 9 # @return the name of digit ("one" ... "nine") # def digitName(digit) : if digit == 1: return "one" if digit == 2: return "two" if digit == 3: return "three" if digit == 4: return "four" if digit == 5: return "five" if digit == 6: return "six" if digit == 7: return "seven" if digit == 8: return "eight" if digit == 9: return "nine" return ""

## Turns a number between 10 and 19 into its English name. # @param number an integer between 10 and 19 # @return the name of the given number ("ten" ... "nineteen") # def teenName(number) : if number == 10 : return "ten" if number == 11 : return "eleven" if number == 12 : return "twelve" if number == 13 : return "thirteen" if number == 14 : return "fourteen" if number == 15 : return "fifteen" if number == 16 : return "sixteen" if number == 17 : return "seventeen" if number == 18 : return "eighteen" if number == 19 : return "nineteen" return ""

## Gives the name of the tens part of a number between 20 and 99. # @param number an integer between 20 and 99 # @return the name of the tens part of the number ("twenty" ... "ninety") # def tensName(number) : if number >= 90 : return "ninety" if number >= 80 : return "eighty" if number >= 70 : return "seventy" if number >= 60 : return "sixty" if number >= 50 : return "fifty" if number >= 40 : return "forty" if number >= 30 : return "thirty" if number >= 20 : return "twenty" return ""

# Call the main function. main()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!