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>64 and tt<=128: print("%s地址所在的操作系統類型為windows" %ip) elif tt<=64: 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 <=64: 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}\t{1:s}".format(name,addr)) print("while循環的用法:".center(60,"*")) i=0 print("%s%16s%38s"%("索引","網卡名稱","IP地址")) while i<len(ilist): net=ilist[i] netList=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="\t\t")
    print("{0:d}\t{1:40s}\t{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("需要補考") break
else: 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地址無效!") break if v==1: print("ip地址是:",ip)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM