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 = ...
随机推荐
- redis 基础 Redis 数据类型
String(字符串) Hash(哈希) List(列表) Set(集合) zset(sorted set:有序集合)
- 【协作式原创】查漏补缺之Golang中mutex源码实现
概览最简单版的mutex(go1.3版本) 预备知识 主要结构体 type Mutex struct { state int32 // 指代mutex锁当前的状态 sema uint32 // 信号量 ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:常用SQL*Plus命令
set pause on set pause '按<enter>键继续' select user_id,username,account_status from dba_users; sh ...
- github设置分支push权限
1. 管理员身份登录GitHub,找到项目2. Settings-->Branches-->Protected branches--->Choose a branch... ,选择需 ...
- PullToRefreshScrollView刷新图标和字体的设定
首先添加pullrefresh的libaraly 设置下拉刷新上拉加载时的文本和图片,直接在java代码中添加 mPullToRefreshScrollView.getLoadingLayoutPro ...
- Springboot + redis + 注解 + 拦截器来实现接口幂等性校验
Springboot + redis + 注解 + 拦截器来实现接口幂等性校验 1. SpringBoot 整合篇 2. 手写一套迷你版HTTP服务器 3. 记住:永远不要在MySQL中使用UTF ...
- jdbc学习over
这次的代码和之前学习到一般的代码主要就是将一些很常见的操作(建立连接.清除连接)不管做什么操作都需要用到它们,所以将它们单独放到另一个工具类里面去. 用到的术语: 1.事务:https://www.c ...
- activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便
如果我们像给任务配置监听,按照常规的做法是这样的 一个个配置,比较麻烦. 现在利用ActivitiEventListener,监听全局事件,并且可以判断不同的事件类型,进而执行不同的业务逻辑. 1.定 ...
- 单页面应用程序(SPA)的优缺点
我们通常所说的单页面应用程序通常通过前端框架(angular.react.vue)进行开发,单页面应用程序将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML.JavaScr ...
- [转]网络协议-redis协议
Redis 通信协议(protocol) 本文档翻译自: http://redis.io/topics/protocol . Redis 协议在以下三个目标之间进行折中: 易于实现 可以高效地被计算机 ...