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

importos

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.例:字幕滚动

方法一:

#字幕滚动

importtime

zimu=input("请输入一段话:")

i=0whileTrue:

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) ##使其能够循环播放

方法二:

#字幕滚动

importtime

str1=input("请输入一段话:")

i=0whileTrue:if i ==len(str1):

i=0print(str1[i:],str1[:i],end="\r",flush=True)

i+=1time.sleep(1)

方法三:

#字幕滚动

importtime

s=input('输入一段话:')while 1:

f=input("滚动方向(L/R):").upper()if f in ['L','R']:break

print("输入有误")while 1:

t=input("滚动速度(输入整数):")ift.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))

方法四:

#字幕滚动

importtime

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地址

importosprint("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 inilist:

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=0print("%s%16s%38s"%("索引","网卡名称","IP地址"))while i

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))

运行效果如下:

1592114-20190123120127413-1073205673.png

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,"-"))whileTrue:

ipxx=input("输入一个IP:")

ipw=ipxx.split(".")if len(ipw)==4:for i in range(4):ifipw[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)

方法二:

#********嵌套循环做*****

whileTrue:

ip=input("请输入一个ip地址:")

list1=ip.strip().split(".")

v=0if len(list1)==4:for i inlist1:if i.isdigit() and (int(i)>=0 and int(i)<=255):

v=1

else:

v=0print("IP地址无效请重新输入!")break

else:print("IP地址无效请重新输入!")if v==1:print("ip地址是:",ip)break

方法三:

#for循环做

ip=input("请输入一个ip地址:")

list1=ip.strip().split(".")

v=0for i inlist1:if len(list1)==4:if i.isdigit() and (int(i)>=0 and int(i)<=255):

v=1

else:

v=0print("输入的ip地址无效")break

else:print("输入的ip地址无效!")break

if v==1:print("ip地址是:",ip)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值