Advise of programming one of my first programs

Anatoli Hristov tolidtm at gmail.com
Sat Mar 31 13:39:32 CEST 2012


Ramit,

This seems to be more logic now "I hope" :)
#########################################
import ast
fname = 0
lname = 1
country = 2
city = 3
tel = 4
notes = 5

## Read data from file

def load_book():
    load_book = open('c:/Python27/Toli/myfile.txt', 'r')
    load_book = ast.literal_eval(load_book.read())
    return load_book

## Write data to file

def write_book(tbook):
    write_book = open('c:/Python27/Toli/myfile.txt', 'w')
    write_book.write(repr(tbook))

## Menu choice input

def get_menu_choice(text):
choice = raw_input(text)
return choice

## List data contacts

def listpb():
    ##tbook = load_book()
    print '_' *45, ' Phonebook ', '_' *45,'\n\n\n'
    print 'Nick\t\tF.Name\t\tL.Name\t\tCountry\t\t\tCity\t\tTel'
    print '_' * 105,'\n','\t' * 13
    for val in tbook.keys():
            print val, '\t\t', tbook[val][fname], '\t', tbook[val][lname],
'\t', tbook[val][country], '\t\t', tbook[val][city], '\t\t',
tbook[val][tel],'\t\t\n'
    print '_'*105,'\n\n\n\n'
    print 'Type nickname and press <Enter> or type <Q> to exit.\n\n\n'

## Main menu

def mmenu(tbook):
    listpb()
    while True:
        text = 'Type your option: '
        choice = get_menu_choice(text)
        if choice == 'e' or choice == 'E':
            text = 'Type nickname and press <Enter> to edit: '
            choicen = get_menu_choice(text)
            if choicen in tbook:
                edit(choicen, tbook)
        elif choice == 'b' or choice == 'B':
            listpb()
        elif choice == 'd' or choice == 'D':
            text = 'Type nickname and press <Enter> for details: '
            choicen = get_menu_choice(text)
            if choicen in tbook:
                details(choicen, tbook)
        elif choice == 'q' or choice == 'Q':
            break
        else:
            print 'Selection {0} not understood.'.format(choice)

## Contact details

def details(choicen, tbook):
    sb = tbook[choicen]
    print 'Nickname: ', choicen, ' is selected\n'
    print 'First name:\t', sb[fname], '\n'
    print 'Last name:\t', sb[lname], '\n'
    print 'Country:\t', sb[country], '\n'
    print 'City:\t\t', sb[city], '\n'
    print 'Phone number:\t',sb[tel], '\n'
    print 'Memos:\n'
    print sb[notes]
    print '\n\n(E)dit\n\n'
    print '(B)ack to phonebook list\n\n'

## Edit contact

def edit(choicen, tbook):
    sb = tbook[choicen]
    fn = raw_input('New name for ' + sb[fname] + ' : ')
    if fn == '':
        pass
    else:
        sb[fname] = fn
    ln = raw_input('New name for ' + sb[lname] + ' : ')
    if ln == '':
        pass
    else:
        sb[lname] = ln
    write_book(tbook)
    details(choicen, tbook)
tbook = load_book()
mmenu(tbook)

#######################################

What you thing?

Regards

Anatoli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20120331/a3260303/attachment.html>


More information about the Python-list mailing list