Hi All,

I'm having huge problems with a program that i am attempting to write. What i have is a program that prints Acronyms and sentences to a text file already, now i am trying to create a new program that reads that text file and if the user inputs the same acronym, it will print out the sentence associated with that acronym. This is what i have so far;

import string

def main():

acronymName = raw_input("Enter a sentence that may include more than one acronym ")
fileHandle = open ( 'acronym.txt', 'r' )

for line in fileHandle.readlines():
for acronym in line.split():
if acronym.enswith('nce'):
print acronym


fileHandle.close()

main()


Obviously Im not even sure if i am on the right track. Any help would be appreciated. I can't even seem to find a similar program to compare to.

Thanks Heaps..

Hi, from next time onwards you need to place your code in a code-block.

I have assumed the input file like following,

accronym.txt
--------------
IIMB-Indian Institute of Management, Bangalore
ASCII-American Standard Code for Information Interchange
PERL-Practical Extraction and Reporting Language
ANSI-American National Standards Institute
ANSI-Advanced Neuromodulation Systems, Inc
--------------

with code:

try:
    fp = open("1.txt", 'r')

    acronym_dictionary = dict()
    for line in fp.readlines():
        if acronym_dictionary.has_key(line.split('-')[0]):
            acronym_dictionary[line.split('-')[0]].append(line.split('-')[1])
        else:
            acronym_dictionary[line.split('-')[0]] = [ line.split('-')[1] ]

    fp.close()

    acronym = raw_input("Enter an acronym")
    if acronym_dictionary.has_key(acronym):
        for expansion in acronym_dictionary[acronym]:
            print expansion
except IOError, e:
    print e
except IndexError:
    pass

I have used dictionary(or hash) to keep the details. Acronym is key and its expansion is its value. I have used list to keep expansions. Because if an acronym has more than one expansion then it does not violate the dictionary rule. That is key should be unique in dictionary.
hope this helps...

kath.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.