前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python条件语句

python条件语句

作者头像
py3study
发布2020-01-17 12:17:09
1.2K0
发布2020-01-17 12:17:09
举报
文章被收录于专栏:python3

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地址,判断操作系统的类型

方法一:

代码语言:javascript
复制
#输入一个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协议被防火墙拦截或者目标不可达!")

方法二:

代码语言:javascript
复制
#输入一个ip地址,ping ip地址,判断操作系统的类型

ip=input("请输入一个ip:")
代码语言:javascript
复制
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.例:字幕滚动

方法一:

代码语言:javascript
复制
#字幕滚动
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)    ##使其能够循环播放

方法二:

代码语言:javascript
复制
#字幕滚动
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)

方法三:

代码语言:javascript
复制
代码语言:javascript
复制
#字幕滚动
代码语言:javascript
复制
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))

方法四:

代码语言:javascript
复制
代码语言:javascript
复制
#字幕滚动
代码语言:javascript
复制
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地址

代码语言:javascript
复制
#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里面的语句

代码语言:javascript
复制
#else 
print("else的用法:".center(30,"*"))
for i in range(3):
    score=float(input("请输入分数:"))
    if score<60:
        print("需要补考")
        break
else:
    print("全部通过")

 continue:跳出本次循环,继续下一次循环

代码语言:javascript
复制
#continue  打印0~20之间的偶数
print("continue的用法:".center(30,"*"))
for i in range(0,21):
    if i%2!=0:
        continue
    else:
        print(i)

break:跳出整个循环

例:输入一个ip,判断是否合法

方法一:

代码语言:javascript
复制
#输入一个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) 

方法二:

代码语言:javascript
复制
#********嵌套循环做*****
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            

方法三:

代码语言:javascript
复制
#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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档