首页 > 解决方案 > Python中的输入显示逻辑

问题描述

我似乎无法找到我想要的运行这些功能的逻辑。我的数据是从一个 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()

标签: pythonwhile-looplogic

解决方案


推荐阅读