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. 使用Apache commons email发送邮件

    今天研究了以下怎么用java代码发送邮件,用的是Apache的commons-email包. 据说这个包是对javamail进行了封装,简化了操作. 这里讲一下具体用法吧 一.首先你需要有邮箱账号和一 ...

  2. windows下使用虚拟机安装linux操作系统

    前言:虚拟机是开发者的好帮手,它可以帮助我们在同一台电脑上创建不同的环境,这样你就可以在不影响原有的环境下,使用另外一套新的环境去完成你的开发工作.相信不少在windows下开发的同学对此深有体会,本 ...

  3. 记录工作中遇到的BUG,经典的数据库时区问题和字段类型tinyint(1)问题

    记录工作中发现的相对而言经典的问题 [数据库时区问题] 我个人数据库配置为CST 如下 我们测试环境的数据库配置为UTC 如下 倘若我修改了测试环境数据库时区为CST.由此造成的问题是 系统读取到数据 ...

  4. 十万同时在线用户,需要多少内存?——Newbe.Claptrap 框架水平扩展实验

    Newbe.Claptrap 项目是笔者正在构建以反应式.Actor模式和事件溯源为理论基础的一套服务端开发框架.本篇我们将来了解一下框架在水平扩展方面的能力. 前情提要 时隔许久,今日我们再次见面. ...

  5. linux网络编程-一个简单的线程池(41)

    有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带来的开销,我们可以使用线程池 1.线程池拥有若干个线程,是线程的集合,线程池中的线程数目有严格的要求,用于执行大量的相对短 ...

  6. 【题解】[USACO17JAN]Balanced Photo G

    题目链接:https://www.luogu.com.cn/problem/P3608 方法一 用树状数组求逆序对先后扫两遍,一次从前往后,一次从后往前,算出每头奶牛左右两边比她高的数量. 最后统计一 ...

  7. STM32内存受限情况下摄像头驱动方式与图像裁剪的选择

    1.STM32图像接收接口 使用stm32芯片,128kB RAM,512kB Rom,资源有限,接摄像头采集图像,这种情况下,内存利用制约程序设计. STM32使用DCMI接口读取摄像头,协议如下. ...

  8. Python实用笔记 (20)面向对象编程——继承和多态

    当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). ...

  9. 运行python出现 SyntaxError: Non-ASCII character '\xe6' in file /Users/finup/Documents/python_project/test.py 解决办法

    使用pycharm运行程序时出现以下错误 这个错误主要是由于python2的编码默认是ASCII,你的文件里有中文就必须要用utf-8编码,只要在文件需要在文件开头标注 #coding=utf-8如下 ...

  10. Java多线程可重入锁例子解析

    “可重入锁”的概念是:自己可以再次获得自己的内部锁.比如有一条线程获得了某个对象的锁,此时这个对象还没有释放,当其再次想获得这个对象的锁的时候还是可以获得的,如果不可锁重入的话,就会造成死锁. cla ...