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 = ...
随机推荐
- ssh pubkey免密登陆远程主机
二.公钥登录 每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性. 1.在本机生成密钥对 使用ssh-keygen命令生成密钥对: ssh-ke ...
- java 操作 csv文件
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...
- github 初体验
一.什么是 Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开. Github 由Chris Wanstrath, ...
- php 低版本不能使用php 命令,创建软链接
ln -s /usr/local/php5/bin/php /usr/bin/php php 低版本不能使用php 命令,创建软链接 phpize 依赖于 phpcli 模式 所以php命令必 ...
- SpringBoot爬虫小说阅读网站,定时更新小说和抓取功能
SpringBoot 小说爬虫搭建阅读网站 通过jsoup采集数据到mysql数据.redis作为缓存框架,减轻服务器压力.部署在linux,网站UI套纵横中文网! http://47.107.116 ...
- Python 的直接赋值、Deepcopy、Copy的区别
直接赋值: 其实就是对象的引用 浅拷贝(copy): 只拷贝符对象,不会拷贝对象内部的子对象 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 有图有 ...
- robot framework 如何自己写模块下的方法或者库
一.写模块(RF能识别的模块) 例如:F:\Python3.4\Lib\site-packages\robot\libraries这个库(包)下面的模块(.py),我们可以看下源码 注意:这种是以方法 ...
- Java基础 -5
方法的定义与使用 方法(method)的基本定义 本次方法定义在主类之中并且由主方法直接调用,所以方法的定义语法形式如下: public static 返回值类型 方法名称([参数类型 变量, ... ...
- 3_07_MSSQL课程_Ado.Net_委托、事件
委托和事件的区别? (1)委托是一个类. 事件是一个委托类型的实列. (2)委托可以在定义委托实列的类的外部触发执行.(不安全) 事件只能能在定义它的类的内部触发执行.(安全),类外部只能注册事件的响 ...
- Django:cookie和session相关问题
http://www.cnblogs.com/fnng/p/3750596.html http://www.cnblogs.com/chenchao1990/p/5283725.html