Я пишу относительно простую программу с использованием Tkinter, которая является конвертером для двоичных, десятичных и шестнадцатеричных.Я не использую какие-либо встроенные в Python математические функции, так как я подумал, что это хороший способ научиться не только классам и объектам, но и Tkinter.
У меня есть метод, который проверяетУбедитесь, что двоичная строка верна, проверив, содержит ли она какие-либо цифры 2-9
, что сделает ее недействительной.
Для этого я использую оператор if
, встроенный в цикл for
bits = '011101' #self.input_str.get()
bit_list = [i for i in bits]
ill_bits = ['2', '3', '4', '5', '6', '7', '8', '9']
for bit in bit_list:
if bit in ill_bits:
print('yes')
#self.output_disp.delete(0.0, END)
#self.output_disp.insert(0.0, "That bit string is invalid")
else:
print('no')
#self.from_binary(self.dec_bttn, self.hex_bttn)`
Две функции print()
на самом деле не являются частью программы, они есть, поскольку я продолжаю тестировать разные вещи.Закомментированные части - это код, который я хочу запустить в тестовой области приложения Tkinter в качестве результата теста на достоверность.
Здесь происходит то, что
self.output_disp.delete(0.0, END)
self.output_disp.insert(0.0, "That bit string is invalid")
запускать только в том случае, если последний бит в тесте обнаружен в обоих списках.Например, битовая строка: 111019
будет отображать That bit string is invalid
в текстовой области, а 111911
- нет.Хотя обе строки битов будут печатать yes
в консоли при повторном выполнении 9, только та, в которой 9 находится в последнем месте, запустит две строки кода, которые начинаются с self.output_disp
....