我的while循环仅在匹配第二个条件时结束,第一个被忽略,我不知道我做错了什么
while (response !=0) or (cont != 5):
response = os.system("ping -c 2 " + hostname)
cont=cont+1
print cont
print response
答案 0 :(得分:0)
将您的or
更改为and
。当它检查第一个条件并且如果它是假并且第二个条件为真时,整个条件将为真。这意味着要么第一个条件为真,要么第二个条件为真。
While ( false or true ) will be while ( true )
要检查两种情况,请使用and
。它会检查表达式true
的{{1}}两个条件是true
。
while ( false and true ) will be while ( false )
while (response !=0) and (cont != 5):
response = os.system("ping -c 2 " + hostname)
cont=cont+1
print cont
print response
答案 1 :(得分:0)
使用subprocess.call
:
import subprocess
for count in range(5);
response = subprocess.call(["ping", "-c", "2", hostname])
if not response:
break
首选使用range
或xrange
进行迭代。