1.1双向循环控制流程

i  = 0
while i > 10:
#外层循环
j = 10
while j < 0:
#内层循环
j -= 1
i += 1

  

1.1.1 双向循环练习------- >打印小心心

# 十行十列隔列换色 实例 :"★","☆"
n = 0
while n < 10 :
x = 0
while x < 10 :
if x % 2 == 1 :
print("★",end="")
else:
print("☆",end="")
x += 1
print()
n += 1

# 十行十列隔行换色
n = 0
while n < 10 :
x = 0
while x < 10 :
if n % 2 == 1 :
print("★",end="")
else:
print("☆",end="")
x += 1
print()
n += 1

  

1.1.2 双向循环练习------- >九九乘法表

#正
stavar = 1 # 循环开始第一个数为 1
while stavar <= 9: # 第一个数范围是 1~9
endvar = 1 # 第二个数每一行开始为1
while endvar <= stavar: # 当第二个数小于等于第一个数的时候打印
print(stavar, '*', endvar, '=', stavar * endvar, end="\t")
endvar += 1 # 第二个数自加 1
print() # 循环完内层后
stavar += 1
#倒
stavar = 9
while stavar >= 1:
endvar = 1
while endvar <= stavar:
print(stavar, '*', endvar, '=', stavar * endvar, end="\t")
endvar += 1
print()
stavar -= 1

  

1.2.3 升级版九九乘法表

# 倒正
endvar = 9
while endvar >= 1:
stavar = endvar
while stavar >= 1:
print("%d%s%d%s%2d"%(stavar,"*",endvar,"=",stavar*endvar),end="\t")
# print(stavar, '*', endvar, '=', stavar * endvar, end="\t")
stavar -= 1
print("\t")
endvar -= 1
# 倒反
stavar = 9
while stavar >= 1:
endvar = stavar
print(" " * (9-stavar),end="")
while endvar >= 1:
print("%d%s%d%s%2d"%(stavar,'*',endvar,'=',stavar * endvar,),end=" ")
# print(stavar, '*', endvar, '=', stavar * endvar, end="\t")
endvar -= 1
print()
stavar -= 1
1.2.4 吉利数字
i = 100

while i < 1000:
gewei = i % 10
shiwei = i // 10 % 10
baiwei = i // 100

if gewei == shiwei == baiwei: # 如果个十百位都相等
print(i)
elif gewei + 1 == shiwei == baiwei - 1: # 例如 543
print(i)
elif gewei - 1 == shiwei == baiwei + 1: # 例如 345
print(i)

i += 1

  

1.2.5 百元买百鸡

"""
公鸡x 母鸡y 小鸡z
公鸡1块钱1只,母鸡3块钱一只,小鸡5毛钱一只
问: 用100块钱买100只鸡,有多少种买法? # 21种
"""
# 示例一
i = 0 # i 表示公鸡的个数
count = 0 # 计数
while i <= 100:
j = 0 # j 表示母鸡个数
while j <= 33:
z = 0 # z 表示小鸡个数
while z <= 100:
if i + 3*j + z/2 == 100 and i + j + z == 100:
print('母鸡%s只,公鸡%s只,小鸡%s只' % (i, j, z))
count += 1
z += 1
j += 1
i += 1

print('一共%s种方案' % count)


# 示例二
i = 0 # i 表示公鸡的个数
count = 0 # 计数
while i <= 100:
j = 0 # j 表示母鸡个数
while j <= 33 and j <= 100-i: # 已经买了i只公鸡,母鸡最多100-i只
if i + 3*j + (100-i-j)/2 == 100:
print('母鸡%s只,公鸡%s只,小鸡%s只' % (i, j, (100-i-j)))
count += 1
j += 1
i += 1

print('一共%s种方案' % count)

1.2 pass , break ,continue

1.2.1 pass

# 不执行任何操作
# 保持程序结构的完整行

while Ture:
# unexpected EOF while parsing -----> 解析意外,找不到接收符,此时可以使用 pass

  

1.2.2 break

# 终止当前循环
# 示例一
flag = True
while flag :
n = 0
while n < 10 :
if n == 5 :
break # 终止 n < 10 这个循环 继续执行外层循环,此时 n = 5 ,死循环
n +=1
# 示例二
flag = True
while flag :
n = 0
while n < 10 :
if n == 5 :
break # 终止 n < 10 这个循环 继续执行外层循环,此时 n = 5 ,死循环
break # 终止外层循环
n +=1

  

1.2.3 continue

# 跳过本次循环,从下一次循环开始,continue后面代码不执行,
# 示例一
num = 1
while num < 10 :
if num == 5 :
continue # 跳过 5 然后继续输出
print(num)
num += 1 # 由于 continue 后面代码不执行,所以num 一直等于 5,只能输出 1 ~ 4 ,死循环 # 实例二
num = 1
while num < 10 :
if num == 5 :
num += 1 # 由于 continue 后面代码不执行,所以将 num 放到这里继续累加
continue # 跳过 5 然后继续输出
print(num)
num += 1 # 当 num = 5 ,此时此处的 num 不再累加

  

1.3 for

# 公式 ------>  for i in ("容器数据类型","range","迭代器")
# 1、容器数据类型 (str,list,tuple,set,dicr)
dict = {"name":"bajie","age":18,}
for i in dicr :
print(i) # 只打印字典的key # 2、range(开始值,终止值,步长) ------> Python区间取值,取不到终止值
for i in range(1,10,3)
"""
1 一
1 + 3 = 4 二
4 + 3 = 7 三
7 + 3 = 10 取不到
"""
print(i)
for i in range(10,1,-4):
"""
10 一
10 - 4 = 6 二
6 - 4 = 2 三
2 - 4 取不到
"""
print(i)

  

day6 python while,for 循环控制的更多相关文章

  1. Python之路,Day6 - Python基础6

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  2. Day6 - Python基础6 面向对象编程

    Python之路,Day6 - 面向对象学习   本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发 ...

  3. Day6 Python常用的模块

    一.logging模块 一.日志级别 critical=50 error=40 waring=30 info=20 debug=10 notset=0 二.默认的日志级别是waring(30),默认的 ...

  4. python笔记之循环控制

    学习python的第一个例子,while循环中嵌套if-else语句,一个猜年龄的例子 #案例1,实现循环猜年龄 # my_age = 12 # while True: # guess_age1 = ...

  5. 第六周 day6 python学习笔记

    1.Python面向对象编程OOP(Object Oriented Programming) 封装:可以隐藏实现细节,使代码模块化 继承:可以扩展已存在的代码模块,可以使代码实现重用 多态:一种接口, ...

  6. Day6 - Python基础6 模块shelve、xml、re、subprocess、pymysql

    本节目录: 1.shelve模块 2.xml模块 3.re模块 4.subprocess模块 5.logging模块 6.pymysql 1.shelve 模块 shelve模块是一个简单的k,v将内 ...

  7. Python for else 循环控制

    for语句可用来遍历某一对象,还具有一个可选的else块.如果for循环未被break终止,则执行else块中的语句.break 在需要时终止for循环continue 跳过位于其后的语句,开始下一轮 ...

  8. python,for,while循环控制

    1.for循环 for循环 for i in range(0,5): for j in range(0,5): print('#'*5) 2.while 循环 import random #get n ...

  9. day6.python字典练习题

    1.有如下变量(tu是个元组),请实现要求的功能 tu = (“alex”, [11, 22, {“k1”: ‘v1’, “k2”: [“age”, “name”], “k3”: (11,22,33) ...

随机推荐

  1. linux配置SVN服务

    在linux下配置SVN库,网上找到不少教程,但是对于有几个容易混淆的地方需要记录下, 1.在创建SVN文档库的时候,需要使用svn命令先创建出来, svnadmin create /home/svn ...

  2. 通信中的错误代码 (repost from https://blog.csdn.net/zzhuan_1/article/details/80066716)

    • 100 - 继续.• 101 - 切换协议.• 110 重新启动标记答复.• 120 服务已就绪,在 nnn 分钟后开始.• 125 数据连接已打开,正在开始传输.• 150 文件状态正常,准备打 ...

  3. 【01JMeter基础】线程组

    线程组 我们存在接口请求的地方,在JMeter中我们使用最多的模块,分为 setUp线程组.线程组.tearDown线程组 setUp线程组:不论如何排序,都会在所有的线程组中被最早执行,如果有多个s ...

  4. 手写简易版Promise

    实现一个简易版 Promise 在完成符合 Promise/A+ 规范的代码之前,我们可以先来实现一个简易版 Promise,因为在面试中,如果你能实现出一个简易版的 Promise 基本可以过关了. ...

  5. 写给大忙人的Redis主从复制,花费五分钟让你面试不尴尬

    相信很多小伙伴都已经配置过主从复制,但是对于redis主从复制的工作流程和常见问题很多都没有深入的了解.咔咔这次用时俩天时间给大家整理一份redis主从复制的全部知识点. 本文实现所需环境 cento ...

  6. WeChair项目Beta冲刺(9/10)

    团队项目进行情况 1.昨日进展    Beta冲刺第九天 昨日进展: 项目开始扫尾 2.今日安排 前端:前端工作已经完成 后端:扫码占座后端测试,实现对超时预约座位下座的功能 数据库:和后端组织协商扫 ...

  7. Linux 查看日志的时候常用命令总结

    Linux ~ 查看日志的常用命令总结 1.tail -n <行数>,显示文件的尾部n行内容. -f 循环读取,常用于查阅正在改变的日志文件. ① tail   -f  test.log  ...

  8. 多线程高并发编程(12) -- 阻塞算法实现ArrayBlockingQueue源码分析(1)

    一.前言 前文探究了非阻塞算法的实现ConcurrentLinkedQueue安全队列,也说明了阻塞算法实现的两种方式,使用一把锁(出队和入队同一把锁ArrayBlockingQueue)和两把锁(出 ...

  9. windows虚拟机安装mac

    在虚拟机上安装mac 首先参考这个:http://jingyan.baidu.com/article/7f41ecec039936593d095c87.html 如果完成不了,请参看下面的.     ...

  10. 09 . Prometheus监控tomcat+jvm

    List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz redis_exporter-v0.30.0.linux-amd64.tar.gz 节点名 IP ...