2
forループを使用して正規表現と一致するリストIPアドレスをユーザから取得したいとします。これは私のコードです。必要な正規表現が入力から一致しない場合に、Pythonのループで繰り返しを繰り返す方法
count=input('Enter number of machines:')
usrip=re.compile("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}")
for i in range(1,count):
user=raw_input('Enter the ip_address of machine '+str(i)+':')
if (usrip.match(user)):
mac_list.append(user)
else:
print("Enter a valid user name and ip address")
これは、このように動作します
Enter number of machines: 3
Enter the ip_address of machine 1: not an ip
Enter a valid user name and ip address
Enter the ip_address of machine 2: 12345
Enter a valid user name and ip address
しかし、私は期待通りの入力を求めるプロンプトが動作するように、もし条件が失敗した特定の反復を繰り返します。このように、
Enter number of machines: 3
Enter the ip_address of machine 1: not an ip
Enter a valid user name and ip address
Enter the ip_address of machine 1: 12345
Enter a valid user name and ip address
Enter the ip_address of machine 1: 192.168.1.1
Enter the ip_address of machine 2:
助けていただければ幸いです。 ありがとうございます。
をお試しください:IPSのためにユーザーを求めて、無限ループを作成し、それらを追加します有効であればリストを表示し、十分なときには終了します。 – L3viathan