为了账号安全,请及时绑定邮箱和手机立即绑定

列表中的 Python 用户输入

列表中的 Python 用户输入

猛跑小猪 2021-12-09 15:48:20
我是 python 编程的新手,在任何地方都找不到这个帮助我有一个要在指定列表 exp 中搜索的用户输入值:option=input("option: ")iplist=['192.168.1.1', '192.168.1.2', '192.168.1.254']while option <= "3":  #this is wrong. Help!  nub = iplist[option]  subprocess.call(["ping", nub])我希望用户的选项是该程序列表中的数字,输出应该是:Option : 0Pinging 192.168.1.1 with 32 bytes of data:Reply from 192.168.1.1: bytes=32 time=2ms TTL=64Reply from 192.168.1.1: bytes=32 time=2ms TTL=64Reply from 192.168.1.1: bytes=32 time=2ms TTL=64Reply from 192.168.1.1: bytes=32 time=2ms TTL=64Ping statistics for 192.168.1.1:    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:    Minimum = 2ms, Maximum = 2ms, Average = 2ms
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

为什么需要循环?使用in检查,如果在列表中存在的输入值,并相应如下:


option=input("option: ")

iplist=['192.168.1.1', '192.168.1.2', '192.168.1.254']


if option in iplist:

   # do the rest

    pass

或:


如果要获取Index列表中元素的 :


for index, elem in enumerate(iplist):

    if option == elem:

        print("Element found at Index: {}".format(index))

输出:


option: 192.168.1.2

Element found at Index: 1

编辑 2:


首先要注意以下几点:


从用户那里获取输入并将其转换为 anint因为您无法使用 str 索引访问列表:


我仍然没有看到循环点


所以:


import subprocess

option= int(input("option: "))    # 1

iplist=['192.168.1.1', '192.168.1.2', '192.168.1.254']


nub = iplist[option]

subprocess.call(["ping", nub])

输出:


Pinging 192.168.1.2 with 32 bytes of data:

Request timed out.

Request timed out.

Request timed out.

Request timed out.


Ping statistics for 192.168.1.2:

    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),


查看完整回答
反对 回复 2021-12-09
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信