day05-Python运维开发基础(双层循环、pass/break/continue、for循环)

# ### 双层循环练习 # 十行十列小星星
j = 0
while j<10: # 逻辑代码写在下面
# 打印一行十个小星星
i = 0
while i<10:
print("*",end="")
i+=1 # 打印换行
print() j+=1 # 十行十列隔列换色小星星
j = 0
while j<10:
# 打印星星
i= 0
while i<10:
if i % 2 == 0:
print("★",end="")
else:
print("☆",end="")
i+=1
# 打印换行
print() j+=1 # 十行十列隔行换色小星星
"""j动的慢,i动的快,外面循环动一次,里面循环动10次"""
j = 0
while j<10:
# 打印星星
i= 0
while i<10:
if j % 2 == 0:
print("★",end="")
else:
print("☆",end="")
i+=1
# 打印换行
print() j+=1 """
j = 0 j % 2 ★★★★★★★★★★
j = 1 j % 2 ☆☆☆☆☆☆☆☆☆☆
...
依次类推
""" # 99乘法表
""" '%d*%d=%2d' % (值1,值2,值3) 字符串的格式化 """
# 方向一 (正序 1~9)
i = 1
while i<=9: j = 1
while j<=i:
# print(i,j)
# 打印对应的表达式
print("%d*%d=%2d " % (i,j,i*j) , end="" )
j+=1 # 打印换行
print() i+=1 # 方向二 (倒序 9~1)
print("<============>")
i = 9
while i>=1: j = 1
while j<=i:
# print(i,j)
# 打印对应的表达式
print("%d*%d=%2d " % (i,j,i*j) , end="" )
j+=1 # 打印换行
print() i-=1 print(",=============.")
# 方向三
i = 1
while i<=9: # (1)打印空格 (8 ~ 1)
k = 9 - i
while k>0:
print(" ",end="")
k-=1 # (2)打印星星
j = 1
while j<=i:
# print(i,j)
# 打印对应的表达式
print("%d*%d=%2d " % (i,j,i*j) , end="" )
j+=1 # (3)打印换行
print() i+=1 print("<====================>")
# 方向四
i = 9
while i>=1: # (1)打印空格 (8 ~ 1)
k = 9 - i
while k>0:
print(" ",end="")
k-=1 # (2)打印星星
j = 1
while j<=i:
# print(i,j)
# 打印对应的表达式
print("%d*%d=%2d " % (i,j,i*j) , end="" )
j+=1 # (3)打印换行
print() i-=1 # 求吉利数字100 ~ 999 123 321 111 222 333 ... 666 888 567 765
"""
765
// 可以取到一个数高位
% 可以取到一个数低位 个位: 765 % 10 => 5
十位: 765 // 10 % 10 => 6
百位: 765 // 100 => 7
""" # 方法一:
i = 100
while i<=999:
# 个位
gewei = i % 10
# 十位
shiwei = i // 10 % 10
# 百位
baiwei = i // 100
# print(baiwei,shiwei,gewei) # 555 666 777
if shiwei == gewei and shiwei == baiwei:
print(i)
# 567 789
elif shiwei == gewei - 1 and shiwei == baiwei + 1:
print(i)
elif shiwei == gewei + 1 and shiwei == baiwei - 1:
print(i) i+=1 # 方法二
print("<=====================>")
"""
strvar = "789"
strvar[0]
strvar[1]
strvar[-1]
"""
i = 100
while i<=999:
num = str(i)
# 个位
gewei = int(num[-1])
# 十位
shiwei = int(num[-2])
# 百位
baiwei = int(num[-3]) # 555 666 777
if shiwei == gewei and shiwei == baiwei:
print(i)
# 567 789
elif shiwei == gewei - 1 and shiwei == baiwei + 1:
print(i)
# 765
elif shiwei == gewei + 1 and shiwei == baiwei - 1:
print(i) i+=1 # 百钱买百鸡 公鸡,母鸡,小鸡,公鸡1块钱一只,母鸡3块钱一只,小鸡是5毛钱一只,问100块钱买100只鸡,有多少种买法
"""
穷举法:一个一个试
a = [1,2]
b = [3,4]
c = [5,6] a+b+c = 10?
1 + 3 + 5 = 9
1 + 3 + 6 = 10 ok
1 + 4 + 5 = 10 ok
1 + 4 + 6 = 11 2 + 3 + 5 = 10 ok
2 + 3 + 6 = 11
2 + 4 + 5 = 11
2 + 4 + 6 = 12 公鸡 : x
母鸡 : y
小鸡 : z
# 100只
x+y+z = 100
# 100块
x+3y+0.5z = 100
通过and 把两个条件拼接在一起
"""
x = 0
count = 0
while x<=100: y = 0
while y<=33: z = 0
while z<=100: if (x+y+z == 100) and (x+3*y+0.5*z == 100):
count+=1
print(x,y,z)
z+=1 y+=1 x+=1
print(count)
双层循环 示例代码
# ### pass break continue 关键字的使用 # 1.pass 过 作代码的占位
"""
if 10 % 2 == 0:
pass while True:
pass
"""
# 2.break 终止当前循环 [只能是循环当中]
# 打印1~10 遇到5就终止
i = 1
while i<=10:
if i == 5:
break
print(i) i+=1 i = 1
while i<=3:
j = 1
while j<=3:
if j == 2:
break
print(i,j)
j+=1
i+=1 # break 必须使用在循环当中
"""
if 5 == 5:
break
""" # 3.continue 跳过当前循环,从下一次循环继续执行
# 1~10 除了5
i = 1
while i<=10:
if i == 5:
i+=1 # 务必自己手动加1,防止死循环
continue
print(i)
i+=1 # 4.打印1~100 除了含有4的数字
"""
// 可以获取一个数的高位
% 可以获取一个数的低位
56 // 10 5
56 % 10 6
""" print("<====1====>")
# 方法一
i = 1
while i<=100:
if i // 10 == 4 or i % 10 == 4:
i+=1 # 手动加上自增加1,避免死循环
continue print(i) i+=1 print("<====2====>")
# 方法二
i = 1
while i<=100:
str_num = str(i)
# print(str_num,type(str_num))
if "" in str_num:
i+=1
continue
print(i) i+=1
pass_break_continue 示例代码
# ### for in 循环 # 遍历 循环 迭代 把容器里的数据统统获取出来
"""
listvar = ["a","b",1,2]
# listvar[0]
# listvar[1]
# listvar[2]
# listvar[3]
i = 0
while i<len(listvar):
res = listvar[i]
print(res) i+=1
""" # while循环在遍历数据时,存在局限性,所以for循环应用而生
"""
# while 的局限性
i = 0
setvar = {"a","b","c","d"}
while i<len(setvar):
res = setvar[i]
print(res) i+=1
"""
"""
for 变量 in 可迭代性数据:
code1
code2...
可迭代性数据 : (容器类型数据 , range对象 , 迭代器)
""" # 遍历字符串
container = "有时候,打败你的仅仅是一个微笑,比如,趴在门外的班主任"
# 遍历列表
container = ["黄俊伟","续送课","王启军","宗永玲","刘守乱"]
# 遍历元组
container = ("黄俊伟","续送课","王启军","宗永玲","刘守乱")
# 遍历集合
container = {"黄俊伟","续送课","王启军","宗永玲","刘守乱"}
# 遍历字典 (遍历字典时,遍历的是键)
container = {"top":"the shy","middle":"肉鸡","bottom":"杰克love"} for i in container:
print(i) # 变量的解包
a,b = 1,2
a,b = [3,4]
a,b = "pu"
a,b = {"a1":1,"b1":2}
a,b,c = ["王健林","王思聪","王美丽"]
print(a,b,c) # 遍历等长的二级容器
listvar = [ ["王健林","王思聪","王美丽"] , ("马云","马思聪","马文") , ("王宝强","马蓉","宋小宝")] """
for i in listvar:
for j in i:
print(j)
"""
# 优化:利用变量的解包
for a,b,c in listvar:
# a,b,c = ["王健林","王思聪","王美丽"]
print(a,b,c) # 遍历不等长的二级容器
listvar = [ ["王健林","王思聪","王美丽"] , ("马云","马思聪") , ("王宝强",)] for i in listvar:
# print(i)
for j in i:
print(j) # range对象 : 用来遍历数据
"""
range(start,end,step)
start:开始值
end :结束值
step :步长
"""
# range 括号中只有一个值的情况 0~4
for i in range(5):
print(i) # range 括号中只有二个值的情况 1~7
for i in range(1,8):
print(i) # range 括号中只有三个值的情况
# 正序
for i in range(1,15,2):
print(i)
# 倒序
for i in range(10,1,-1):
print(i) # while写法
i = 1
while i<=9:
j = 1
while j<=i:
print("%d*%d=%2d " % (i,j,i*j) ,end="" )
j+=1 print()
i+=1
# for 写法
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d " % (i,j,i*j) ,end="" )
print()
"""
while 一般用在复杂逻辑操作
for 一般用在遍历数据操作
但是他们之间有共同之处;
"""
for循环 示例代码
day05-Python运维开发基础(双层循环、pass/break/continue、for循环)的更多相关文章
- Python运维开发基础07-文件基础【转】
一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...
- Python运维开发基础04-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 仅用列表+循环实现“简单的购物车程 ...
- Python运维开发基础03-语法基础 【转】
上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...
- Python运维开发基础02-语法基础【转】
上节作业回顾(讲解+温习60分钟) #!/bin/bash #user login User="yunjisuan" Passwd="666666" User2 ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
- Python运维开发基础10-函数基础【转】
一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...
- Python运维开发基础09-函数基础【转】
上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...
- Python运维开发基础08-文件基础【转】
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
- Python运维开发基础06-语法基础【转】
上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...
- Python运维开发基础05-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...
随机推荐
- html js中的引号
content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...
- C++代码如何附加到C#写的主程序中?
背景是这样:C#的exe程序,C#中调用C++的dll,也就是所谓的托管吧. C#的exe出了点问题,想在C++的dll的源码中调试,附加到进程时,加了断点,怎么也跟不进去.断点不变红啊,急死了. 最 ...
- js运动框架及应用
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于程序状态字寄存器PSW(Program Status Word)与多核多线程
内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...
- Excel使用小技巧
1.Excel随机设置单元格的内容为整数0或1: 在单元格中写公式: =ROUND(RAND(),0) 2.设置某个单元格的值为1或0,根据其他3个单元格的值为0或1来确定: 在该单元格中写公式: ...
- 微擎系统BUG漏洞解决方法汇总
微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...
- <audio>音频标签
<audio ref="audio" @canplay="ready" @error="error" @timeupdate=&qu ...
- activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便
如果我们像给任务配置监听,按照常规的做法是这样的 一个个配置,比较麻烦. 现在利用ActivitiEventListener,监听全局事件,并且可以判断不同的事件类型,进而执行不同的业务逻辑. 1.定 ...
- Lesson 13 The search for oil
What do oilmen want to achieve as soon as they strike oil? The deepest holes of all are made for oil ...
- 新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发
1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...