python条件语句
2019-01-23 07:42:04来源:博客园 阅读 ()
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)
原文链接:https://www.cnblogs.com/yuzly/p/10306568.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python开发爆破工具
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash