Найти - Пользователи
Полная версия: записная книжка очень примитивная))
Начало » Центр помощи » записная книжка очень примитивная))
1
нубикубик
вот что написала, в этот раз сама!

но не доперает как добавить подменю в в первый пункт “Добавить запись” с добавление “в конец, в начало, под номером” и как сделать список в виде таблицы*(

nm=
gr=
tel=
eml=

print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

a=raw_input()
while a==“” or a<'0' or a>'6':
a=raw_input()
a=int(a)

while a<>0:

if a==1:
nm+=raw_input(“vvedite ima: ”)
gr+=raw_input(“vvedite god rojdeniya: ”)
tel+=raw_input(“vvedite telefon: ”)
eml+=raw_input(“vvedite email: ”)
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

if nm<>:
if a==2:
for i in xrange(0,len(nm)):
print i+1, ‘ : ima - ’, nm, ‘ god rojdeniya - ’, gr, ‘ telefon - ’, tel, ‘email - ’, eml
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

if a==3:
x=raw_input(“vvedite ima: ”)
m=-1
for j in xrange(0,len(nm)):
if nm==x:
m=j
if m==-1:
print ‘ne naydeno’
elif m<>-1:
print m+1,': ima - ',nm,' god rojdeniya - ',gr,' telefon - ',tel,' email - ',eml
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

if a==4:
n=input(“vvedite nomer: ”)
if (n>-1)and(n<len(nm)):
nm=nm+nm
gr=gr+gr
tel=tel+tel
eml=eml+eml
else:
print ‘net takogo nomera’
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”
if a==5:
n=input(“vvedite nomer: ”)
if (n>-1)and(n<len(nm)):
nm=raw_input(“vvedite ima: ”)
gr=input(“vvedite god rojdeniya: ”)
tel=input(“vvedite telefon: ”)
eml=raw_input(“vvedite email: ”)
else:
print ‘net takogo nomera’
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

if a==6:
n1=input(“vvedite nomer1: ”)
n2=input(“vvedite nomer2: ”)
if (n1>-1)and(n1<=len(nm))and(n2>-1)and(n2<=len(nm)):
an=nm
ag=gr
at=tel
ae=eml
nm=nm
gr=gr
tel=tel
eml=eml
nm=an
gr=ag
tel=at
eml=ae
else:
print ‘oshibka! nomera vvedeni ne verno’
print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”
a=raw_input()
while a==“” or a<'0' or a>'9':
a=raw_input()
a=int(a)

else:
print(“deistvie nevozmozhno, vvedite komandu”)
a=raw_input()
while a==“” or a<'0' or a>'9':
a=raw_input()
a=int(a)
нубикубик
сделала начало вот таким

nm=
gr=
tel=
eml=

print “”“MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi”“”

a=raw_input()
while a==“” or a<'0' or a>'6':
a=raw_input()
a=int(a)

while a<>0:

if a==1:
print “”“MENU:
1 - v nachalo spiska
2 - v konec spiska
3 - pod nomerom”“”
a=raw_input()
while a==“” or a<'1' or a>'3':
a=raw_input()
a=int(a)

while a<>0:
if a==1:
nm+=raw_input(“vvedite ima: ”)
gr+=raw_input(“vvedite god rojdeniya: ”)
tel+=raw_input(“vvedite telefon: ”)
eml+=raw_input(“vvedite email: ”)
pill
нубикубик
… и как сделать список в виде таблицы*(…
как то так можно:
nm=['ann', 'bob', 'tiffany']
gr=[1987, 1992, 1991]
tel=[1234, 2321, 4212]
eml=['test@test.ua','test@test.ua','test@test.ua',]

print "%-1s | %-15s | %-5s | %-8s | %-12s" % ('#','name', 'year', 'phone', 'email')
print '-'*55
for i in xrange(0,len(nm)):
print "%-1s | %-15s | %-5s | %-8s | %-12s" % (i, nm[i], gr[i], tel[i], eml[i])
print '-'*55
http://docs.python.org/library/stdtypes.html#string-formatting-operations
http://citforum.ru/programming/python/python4.shtml

оборачивайте код в теги (без звездочек) когда постите код на форуме - http://python.su/forum/help.php#bbcode

Отступы желательно в 4 пробела делать, иначе все сливается.

Хранить записи можно во вложенных списках - уже удобнее будет:

storage = [
['ann', '1987', '2323', 'pul@loop'],
['ann1', '1987', '2323', 'pul@loop'],
['ann2', '1987', '2323', 'pul@loop'],
['ann3', '1987', '2323', 'pul@loop'],
]
# Добавление записи:
# Создаем новую пустую запись
entry = []
# Добавляем в нее данные
entry.append(str(raw_input("vvedite ima: ")))
entry.append(str(raw_input("vvedite god rojdeniya: ")))
entry.append(str(raw_input("vvedite telefon: ")))
entry.append(str(raw_input("vvedite email: ")))
# Ложим в storage
storage.append(entry)

# поиск записи
ima = str(raw_input('vvedite ima '))
if ima in [entry[0] for entry in storage]:
indx = [entry[0] for entry in storage].index(ima)
entry = storage[indx]
print 'ima: ', entry[0]
print 'god: ', entry[1]
print 'tel: ', entry[2]
print 'email: ', entry[3]
# удаление записи по индексу:
del storage[index]

# изменение
storage[n][0] = raw_input("vvedite ima: ")
storage[n][1] = raw_input("vvedite god rojdeniya: ")
storage[n][2] = raw_input("vvedite telefon: ")
storage[n][3] = raw_input("vvedite email: ")

# поменять местами:
storage[n1],storage[n2] = storage[n2], storage[n1]
nm+=raw_input(“vvedite ima: ”)
этот код вообще работать не должен… используйте
nm.append(raw_input('smth'))
Меню печатается много раз - попробуйте положить его в переменную, код сразу сократится вдвое:
MENU = """MENU:
1 - dobavit zapis
2 - vivesti vse zapisi
3 - naiti po imeni
4 - udalit
5 - izmenit zapis
6 - pomenat mestami zapisi
0 - vihod iz programmi"""

print MENU
int('something')
может выкинуть исключение если подсунуть ему нековертабельные данные

вот такой буулетпруф циклик на первое время сойдет:
while True:
input = raw_input('type command: ')
if not input:
continue
try:
input = int(input)
except ValueError:
continue
input = None
if input and (0 <= input <= 6):
break
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB