Форум сайта python.su
bazookaПочитал уже несколько статей и досихпор понять не могу как это все связать -_-.
почитай че такое циклы
Офлайн
просто несколько раз повторяются одни и теже строки и ниодного цикла. а еще у функций могут быть аргументы
Офлайн
DoKDoK, подождите немного, я вам все покажу. Мне просто сегодня некогда.bazookaПочитал уже несколько статей и досихпор понять не могу как это все связать -_-.
почитай че такое циклы
Офлайн
Ну так и что, уважаемый?) Хотелось бы все таки получить хоть какой-нибуть ответ.
Офлайн
man словари (dictionary) и вложенные структуры
к списку обращаемся так: L,L,L……
Если хотим обходить весь список в цикле, то:
for el in L:
print el
for i in xrange(len(L)-1):
L[i]=L[i]*2
dic={'Фрукт':'Апельсин',
'Овощ':'Морковь'}
print (dic['овощ'])
qestions={'qestion':'когда человек полетел в космос?','level':'легкий','answers':[1945,1949,1957,1961] }
subj=[{'qestion':'когда человек полетел в космос?','level':'легкий','answers':[1945,1949,1957,1961] },
{'qestion':'Когда был образован СССР?','level':'легкий','answers':[1922,1921,1924,1929] }]
subj[0]
print( subj[0]['qestion'])
Офлайн
Чтобы программно добавить элемент в список есть метод append:
L.append(1)
dic['language']='ru'
Офлайн
И читаем: О списках и других последовательностях в офиц. документах
и дополнительно читаем там же в доках о: словарях и других типах данных отображениях
Отредактировано (Янв. 14, 2011 18:46:26)
Офлайн
guranvir
Спасибо Вам огромное :) Теперь все понял. Надеюсь подобный подход к задаче уже лежит на верном пути:
main.py
# -*- coding: utf-8 -*-
import time
import random
import math
import DATACHIMIA as t
x=0
y=0
z=0
a=0
g=0
score=0
rt=0
def finish():
print ''
print u'Вы ответили на ' + `score` + u' из ' + `a` + u' вопросов!'
print ''
rt = (score / g) * 100
print u'Это ' + `rt` + u'% от 100.'
if (rt <= 50):
print u'Ваша оценка - 2. Учите химию ;)'
elif (rt >= 50 and rt < 70):
print u'Ваша оценка - 3. Лучше учите химию ;)'
elif (rt >= 70 and rt <= 95):
print u'Ваша оценка - 4. Вы молодец! Но учите химию еще лучше ;)'
elif (rt > 95):
print u'Ваша оценка - 5! Вы не спали на уроках химии, с чем Вас и поздравляю! ;)'
def start():
print ''
global x
global y
global z
global a
global score
x = random.randrange(11)
print(t.subj[x]['q'])
print(t.subj[x]['an'])
y = t.subj[x]['ans']
z = input('----> ')
if (z == y):
print u'Верно!'
time.sleep(1)
score = score + 1.0
a = a + 1
if (a == g):
finish()
else:
start()
else:
print u'Неверно!'
time.sleep(1)
a = a + 1
if (a == g):
finish()
else:
start()
print ''
print u'Привет!'
print u'Начнем?'
bg1 = raw_input('Press <enter>')
g = random.randrange(10)+5
print u'Вам предлогается ответить на ' + `g` + u' вопросов'
time.sleep(2)
start()
# -*- coding: utf-8 -*-
subj=[
{'q':u'Какова валентность водорода?','an':[1,2,3,4],'ans':1 },
{'q':u'Сколько атомов в молекуле кислорода?','an':[1,2,3,4],'ans':2 },
{'q':u'Сколько электронов у атома лития?','an':[1,3,5,7],'ans':3 },
{'q':u'Найдите верное утверждение:','an':u'1) Сера имеет валентность 5; \n2) Азот находится в 5й группе; \n3) Натрий - неактивный металл; \n4) Фосфор радиоактивен','ans':2 },
{'q':u'Степень окисления серы в молекуле H2S','an':[-2,-1,+1,+2],'ans':-2 },
{'q':u'Сколько атомов кислорода в молекуле H2SO4','an':[2,4,6,8],'ans':4 },
{'q':u'В какой группе находится магний?','an':[1,2,3,4],'ans':2 },
{'q':u'Сколько протонов в атоме железа?','an':[12,26,39,55],'ans':39 },
{'q':u'Связть в молекуле O2:','an':u'1) Ионая, \n2) Водородная, \n3) Металлическая, \n4) Ковалентная','ans':4 },
{'q':u'Общая формула алканов:','an':u'1) CnH2n-1, \n2) CnH2n, \n3) CnH2n+1, \n4) Все ответы неверны','ans':4 },
{'q':u'Сколько изотопов у водорода?','an':[1,2,3,4],'ans':3 },
]
Офлайн