python条件语句
python条件语句
⽬录:
1.分⽀语句(if……else……)
2.循环(for,while,嵌套循环) #for⽤在已知循环次数 while⽤在不确定循环次数和死循环
3.控制循环(break,continue,else) #break:跳出整个循环 continue:跳出本次循环,继续下⼀次循环 else:与break配合使⽤,循环执⾏完才能执⾏else,否则不执⾏else⾥⾯的语句1.if……else……
1.输⼊⼀个ip地址,ping ip地址,判断操作系统的类型⽅法⼀:
#输⼊⼀个ip地址,ping ip地址,判断操作系统的类型import os
ip=input(\"请输⼊⼀个ip地址:\")
res=os.popen(\"ping %s\" %ip).read()#print(res)
start1=res.find(\"TTL\")end1=res.find(\"\\n\",start1)ttl=res[start1:end1]#print(ttl)
if res.find(\"TTL\")>0: #如果找到则返回对应的下标,找不到返回-1 tt=int(ttl[4:])
if tt> and tt<=128:
print(\"%s地址所在的操作系统类型为windows\" %ip) elif tt<=:
print(\"$s地址所在的操作系统类型为linux\" %ip) else:
print(\"$s地址所在的操作系统类型未知\" %ip)else:
print(\"icmp协议被防⽕墙拦截或者⽬标不可达!\")⽅法⼆:
#输⼊⼀个ip地址,ping ip地址,判断操作系统的类型ip=input(\"请输⼊⼀个ip:\")
ipStr=os.popen(\"ping %s\"%ip).read()len=ipStr.find(\"T\")
ttlStr=ipStr[ipStr.find(\"T\"):ipStr.find(\"\\n\",len)]if ttlStr==\"\":
print(\"ping失败\")
sys.exit(0) #退出程序,后⾯的程序不再执⾏
print(\"截取后:\")print(ttlStr)
ttlInt=int(ttlStr.split(\"=\")[1])print(ttlInt)if ttlInt <=:
print(\"此系统Linux系统\")else:
print(\"此系统Windows系统\")2.循环(for,while,嵌套循环)2.例:字幕滚动⽅法⼀:
#字幕滚动import time
zimu=input(\"请输⼊⼀段话:\")i=0
while True:
dis=zimu[i:]+zimu[:i] i+=1
print(dis,flush=True,end=\"\") #flush=true不要缓存,实时刷新 end=\"\"实现不换⾏ time.sleep(1) ##执⾏完上⾯三⾏,睡 1 秒
print(\"\\r\",end=\"\",flush=True) #'\\r',回车,使内容顶格出现 i%=len(zimu) ##使其能够循环播放⽅法⼆:
#字幕滚动import time
str1=input(\"请输⼊⼀段话:\")i=0
while True:
if i == len(str1): i=0
print(str1[i:],str1[:i],end=\"\\r\",flush=True) i+=1
time.sleep(1)⽅法三:#字幕滚动
import time
s=input('输⼊⼀段话:')while 1:
f=input(\"滚动⽅向(L/R):\").upper() if f in ['L','R']: break
print(\"输⼊有误\")while 1:
t=input(\"滚动速度(输⼊整数):\") if t.isnumeric(): break
print(\"输⼊有误\")
while 1: if f=='L':
s=s[1:]+s[0] else:
s=s[-1]+s[:-1]
print('\\r'+s,end='',flush=True) time.sleep(int(t))⽅法四:#字幕滚动
import time
line = input(\"请输⼊⼀段话:\")a=input(\"请输⼊左右(z\\y)\")if a == \"z\": while 1:
line = line[1:]+line[0]
print('\\r'+line,flush=True,end='') time.sleep(1)elif a == \"y\": while 1:
line = line[-1]+line[:-1]
print('\\r'+line,flush=True,end='') time.sleep(1)else:
print(\"您输⼊有误\")
2.例:获得本机所有⽹卡以及对应的ip地址#for 打印出本机所有⽹卡以及对应的ip地址import os
print(\"for循环的⽤法:\".center(60,\"*\"))inf=os.popen(\"ipconfig/all\").read()#print(str)
print(\"⼀共有%d个⽹卡\"%inf.count(\"适配器\"))ilist=inf.split(\"适配器\")[1:]#print(str2)#for i in ilist:# print(i)
print(\"%s%44s\"%(\"⽹卡名称\",\"IP地址\")) for nic in ilist:
nlist=nic.split(\"\\n\")
name=nlist[0].strip()[:-1] flag=nic.find(\"IPv4\") if flag<0:
addr=\"⽹络未连接!\" else:
addr=nlist[8].split(\":\")[1].strip() addr=addr.rstrip(\"(⾸选)\")
print(\"{0:40s}\{1:s}\".format(name,addr))
print(\"while循环的⽤法:\".center(60,\"*\"))i=0
print(\"%s%16s%38s\"%(\"索引\",\"⽹卡名称\",\"IP地址\"))while inetList=net.split(\"\\n\")name=netList[0].strip()[:-1] ipLine=netList[8].strip() if ipLine.startswith(\"IPv4\"):
addr=ipLine[ipLine.find(\":\")+2:] addr=addr.rstrip(\"(⾸选)\") else:
addr=\"⽹络未连接!\" i+=1
#print(i,name.ljust(10),addr.rjust(25),sep=\"\\\") print(\"{0:d}\{1:40s}\{2:s}\".format(i,name,addr))运⾏效果如下:
3.控制循环(break,continue,else)
else:与break配合使⽤,循环执⾏完才能执⾏else,否则不执⾏else⾥⾯的语句
#else
print(\"else的⽤法:\".center(30,\"*\"))for i in range(3):
score=float(input(\"请输⼊分数:\")) if score<60:
print(\"需要补考\") breakelse:
print(\"全部通过\")
continue:跳出本次循环,继续下⼀次循环#continue 打印0~20之间的偶数
print(\"continue的⽤法:\".center(30,\"*\"))for i in range(0,21): if i%2!=0: continue else: print(i)break:跳出整个循环
例:输⼊⼀个ip,判断是否合法⽅法⼀:
#输⼊⼀个ip,判断是否合法#break:
print(\"break的⽤法\".rjust(30,\"-\"))while True:
ipxx=input(\"输⼊⼀个IP:\") ipw=ipxx.split(\".\") if len(ipw)==4: for i in range(4): if ipw[i].isdigit():
if not(0<=int(ipw[i])and int(ipw[i])<=255): print(\"IP输⼊错误,请重新输⼊\") break else:
print(\"IP输⼊错误,请重新输⼊\") break else: break else:
print(\"IP输⼊错误,请重新输⼊\") print(\"输⼊正确,你输⼊的IP是:\",ipxx) ⽅法⼆:
#********嵌套循环做*****while True:
ip=input(\"请输⼊⼀个ip地址:\") list1=ip.strip().split(\".\") v=0
if len(list1)==4: for i in list1:
if i.isdigit() and (int(i)>=0 and int(i)<=255): v=1 else: v=0
print(\"IP地址⽆效请重新输⼊!\") break else:
print(\"IP地址⽆效请重新输⼊!\") if v==1:
print(\"ip地址是:\",ip) break ⽅法三:
#for循环做
ip=input(\"请输⼊⼀个ip地址:\")list1=ip.strip().split(\".\")v=0
for i in list1:
if len(list1)==4:
if i.isdigit() and (int(i)>=0 and int(i)<=255): v=1 else: v=0
print(\"输⼊的ip地址⽆效\") break else:
print(\"输⼊的ip地址⽆效!\") breakif v==1:
print(\"ip地址是:\",ip)