Входная логика дисплея c в Python - PullRequest
0 голосов
/ 12 января 2020

Я не могу найти логи c для запуска этих функций, как я хочу. Мои данные загружаются из файла Excel, и у меня есть опция «Магазин обновлений», которая выполняет эти функции ниже.

Моя проблема в том, что я не хочу, чтобы функция details() отображала ввод, если IP-адрес не действительный. В настоящее время, даже если ввод неправильный, он все равно обновляет функцию детализации.

#show details
def details():
    os.system('cls')
    ip = str(ws.cell(row=cell.row, column=1).value)      #logic at this line
    name = str(ws.cell(row=cell.row, column=2).value)
    address = str(ws.cell(row=cell.row, column=3).value)
    phone = str(ws.cell(row=cell.row, column=4).value)
    s_type = str(ws.cell(row=cell.row, column=5).value)
    supplier = str(ws.cell(row=cell.row, column=6).value)
    print('    Updating shop:')
    print('\n-----------> ' + str(shop) + ' <-----------')
    print(' IP Address: ' + ip)
    print(' Full Name: ' + name)
    print(' Address: ' + address)
    print(' Phone: ' + phone)
    print(' Shop category: ' + s_type)
    print(' Supplier: ' + supplier)
    print('------------------------------')
details()

#input with IP Address validation
def ipEntered():
    while True:
        try:
            ws.cell(row=cell.row, column=1).value = input('\nEnter new IP Address: ')   #logic at this line
            val = ws.cell(row=cell.row, column=1).value
            return ipaddress.ip_address(val)
        except ValueError:
            print("\nInvalid IP Address!!!")
            time.sleep(1.15)
            os.system('cls')
            details()
ipEntered()

...