Кодировка utf-8
import Tkinter as t
vopros=[['''Считая, что каждый символ кодируется 2 байтами,\nоцените информационный объем в кодировке Unicode:\nМой дядя самых честных правил, Когда не в шутку занемог,\nОн уважать себя заставил И лучше выдумать не мог''',['108 бит','832 бит','108 килобайт','864 килобайт']],
['''Считая, что каждый символ кодируется 2 байтами,\nоцените информационный объем в кодировке Unicode:\nОдин пуд - около 16,4 килограмм.''',['32 килобайта','512 бит','64 бита','32 байта']],
['''Считая, что каждый символ кодируется 1 байтом\nоцените информационный объем предложения:\nПевец-Давид был ростом мал, Но повалил же Голиафа!''',['400 бит','50 бит','400 байт','5 байт']],
['''Считая, что каждый символ кодируется 1 байтом,\nоцените информационный объем предложения:\nВ одном килограмме - 1000 грамм.''',['16 килобайт','256 бит','32 байта','16 байт']],
['''Световое табло состоит из лампочек, каждая из которых\nможет находиться в 2 состояниях("вкл" или "выкл").\nКакое наименьшее количество лампочек должно находиться\nна табло, чтобы с его помощью можно было передать\n200 различных сигналов?''',['8','9','100','200']],
['''Шахматная доска состоит из 64 полей:8 строк на 8 столбцов.\nКакое минимальное количество бит потребуется\nдля кодирования координат одного поля?''',['4','5','6','7']],
['''Сколько существует различных последовательностей из символов\n"а" и "б" длиной ровно в 10\nсимволов?''',['20','100','1024','2048']],
['''Сколько существует различных последовательностей из символов\n"+" и "-" длиной ровно в 5 символов?''',['64','50','32','20']],
['''В зрительном зале 2 прямоугольные области зрительских кресел:\nодна 10 на 12, а другая 17 на 8. Какое минимальное количество\nбит потребуется для кодирования каждого места в\nавтоматизированной системе?''',['5','6','7','8']],
['''Азбука Морзе позволяет кодировать символы для радиосвязи,задавая\nкомбинацию точек и тире. Сколько различных символов можно закодировать,\nиспользуя код Морзе длиной не менее 3\nи не более 5 сигналов(точек и тире)?''',['12','56','84','256']],
['''Сколько мегабайт информации содержит сообщение объемом 223 бит?\n \n''',['1','8','3','32']],
['''Получено сообщение, информационный объем которого равен 32 бит.\nЧему равен этот объем в байтах?''',['5','2','3','4']],
['''Для 5 букв латинского алфавита заданы их двоичные коды\n(для некоторых букв из двух бит, для некоторых-из трех).\nA-000, B-01, С-100, D-10, E-011.Определить, какой набор букв\nзакодирован двоичной строкой 0110100011000.''',['EBCEA','BDDEA','BDCEA','EBAEA']],
['''Для кодирования букв А, Б, В, Г решили использовать двухразрядные\nпоследовательные двоичные числа(от 00 до 11 соответственно).\nЕсли таким способом закодировать аоследовательность символов ГБАВ\nи перевести результат в шестнадцатиричную систему счислен\nто получится:''',['D2','132','3102','DBAC']],
['''Каждое показание датчика, фиксируемое в памяти компьютера, занимает\n10 бит.Запмсано 100 показаний этого счетчика. Каков информационный\nобъем снятых значений в байтах?''',['10','100','125','1000']],
['Количество значащих нулей в двоичной записи числа 129 равно:',['5','6','7','4']],
['Как представляется число 25 в двоичной системе счисления?',['1001','11001','10011','11010']],
['Как представлено число 83 в двоичной системе счисления?',['1001011','1100101','1010011','101001']],
['''Вычислите значение суммы в десятичной системе счисления\n(в скобках указано основание системы счисления):\n10(2)+10(8)+10(16)=?(10)''',['30','26','36','20']],
['''Вычислите сумму чисел x и y, если x=1110101(2),у=1011011(2).\nРезультат представьте в виде восьмеричного числа.\n(в скобках указано основание системы счисления)''',['2110(8)','298(8)','320(8)','318(8)']],
['''Вычислите сумму двоичных чисел х и у, если\nх=1010101(2), у=1010011(2)\n(в скобках указано основание системы счисления).''',['10100010(2)','10101000(2)','10100100(2)','10111000(2)']],
['''Вычислите сумму чисел x и y при x=В4(16),у=46(8).\nРезультат представьте в двоичной системе счисления.\n(в скобках указано основание системы счисления)''',['10001111(2)','1100101(2)','101011(2)','1010111(2)']],
['''Вычислите сумму чисел x и y при x=1D(16),у=72(8).\nРезультат представьте в двоичной системе счисления.\n(в скобках указано основание системы счисления)''',['10001111(2)','1100101(2)','101011(2)','1010111(2)']]
]
p=0
c=int
otvet=[]
protv=[0,2,3,1,3,1,2,3,3,4,2,1,4,3,1,3,2,2,3,2,3,2,1,4]
def result(ocenka):
global labelfont, c
print 'ocenka:',ocenka
kr=t.Tk()
akl=t.Label(kr, text='Ваша оценка:')
akl.grid(row=0, column=0)
akl1=t.Label(kr, text=ocenka)
akl1.grid(row=0, column=1)
akl2=t.Label(kr, text='правильных ответов:')
akl2.grid(row=1, column=0)
akl3=t.Label(kr, text=c-1)
akl3.grid(row=1, column=1)
akl.config(bg='black', fg='white', font=labelfont)
akl1.config(bg='black', fg='white', font=labelfont)
akl2.config(bg='black', fg='white', font=labelfont)
akl3.config(bg='black', fg='white', font=labelfont)
kr.config(bg='black')
kr.mainloop()
def vop():
global p, n, vopros, otvet, c
labelfont=('times', 12, 'bold')
if p<23:
lab2=t.Label(fr1, text=vopros[p][0])
lab2.grid(sticky=NW, row=0, column=1, ipadx=240, ipady=50)
lab2.config(bg='white', fg='black', font=labelfont)
la=Label(frn, text=p+1, bg='red')
la.grid(row=0, column=p, ipadx=7)
for i in range(4):
l1=t.Label(fr2, text=' ')
l1.grid(row=i+1, column=1)
l1.config(bg='black', fg='white')
l=t.Label(fr2, text=vopros[p][1][i])
l.grid(row=i+1, column=1)
l.config(bg='black', fg='white', font=labelfont)
u=var.get()
print u
otvet.append(u)
print otvet
else:
lab2=t.Label(fr1, text='Один момент............................')
lab2.grid(sticky=W, row=0, column=1, ipadx=425, ipady=100)
lab2.config(bg='white', fg='black')
sravn=zip(otvet,protv)
print sravn
c=0
n=0
for x in sravn:
if (sravn[n][0]==sravn[n][1]):
c=c+1
print c
n=n+1
if c>=18:
ocenka=5
result(ocenka)
print('krasavchik!!!!')
elif 14<c<=17:
ocenka=4
result(ocenka)
print('very beatiful')
elif 8<c<=14:
ocenka=3
result(ocenka)
print('Xm...')
else:
ocenka=2
result(ocenka)
print('Vot ti jestkii tip')
p=p+1
return c
labelfont=('times', 20, 'bold')
root=t.Tk()
root.title('Информационные процессы и системы')
root.config(bg='black', width=400, height=400)
frn=t.Frame(root)
frn.grid(row=6, padx=25, pady=15)
sch=range(1,24)
for n in sch:
la=Label(frn, text=n, bg='green')
la.grid(row=0, column=n-1, ipadx=7)
fr=t.Frame(root, bg='black')
fr.grid(row=0, column=0,padx=10, pady=10)
lab=t.Label(fr, text='Информация и ее кодирование', font=labelfont, bg='black', fg='white')
lab.grid(sticky=EW)
fr1=t.Frame(root, bg='black')
fr1.grid(sticky=W, row=2, column=0, padx=10, pady=10)
lab1=t.Label(fr1, text='Вопрос', fg='white', bg='black')
lab1.grid(sticky=NW, row=0, column=0)
lab2=t.Label(fr1, text='''Для начала тестирования
нажмите далее''')
lab2.grid(sticky=NW, row=0, column=1, ipadx=425, ipady=100)
lab2.config(bg='white', fg='black', font=14)
fr2=t.Frame(root, bg='black')
fr2.grid(row=3, column=0, sticky=W, padx=10, pady=10)
lab3=t.Label(fr2, text='Ответ', fg='white', bg='black')
lab3.grid(sticky=NW, row=0, column=0, padx=10, pady=10)
var=IntVar()
for i in range(1,5):
r=t.Radiobutton(fr2, value=i, variable=var)
r.grid(row=i, column=0, padx=10, pady=10)
r.config(bg='black', cursor='hand2')
but1=t.Button(root, text='Далее>>', cursor='hand2', command=vop)
but1.grid(row=5, column=0)
but2=t.Button(root, text='Выход', cursor='hand2', command=quit)
but2.grid(row=5, column=1)
but1.config(bg='black', fg='white')
but2.config(bg='black', fg='white')
root.resizable(0,0)
root.mainloop()