一.while循环介绍

while 循环 可以提高代码的效率,减少代码的冗余

while 条件表达式:
    code1
    code2
如果条件表达式成立,返回Ture,就执行其中的代码块

1.基本语法

例:打印1 ~100

#(1)初始化变量i

i = 1
#(2)写循环判断条件
while i<= 100:
   print(i)
#(3)自增自减的条件
  i+=1

#代码解析
首先初始化i=1
然后判断1<=100 满足返回Ture 执行代码块
然后print(1)
i+=1 i = i + 1 i =>2

回到条件表达式当中进行判断 也就是回答20行
2<=100 满足 返回Ture 执行代码块
i+=1 i= i+1 2+i =>3

回到条件表达式当中进行判断 ,也就是回到20行
3<=100 满足 返回Ture 执行代码块
然后print(3)
i+=1 i = i + 1 3+1 =>4

什么时候条件跳出?
当i=101的时候
101<=100 不满足 返回False 不执行代码块
循环终止。。。

2.while的写法

例:

#(1)第一种方法
#1~100的累加和
i = 1
total = 0
while i <= 100:
   #写上逻辑
    #print(i)
   total += 1
   i += 1
print(total)

代码解析:
total += i => total = total + i => 0 + 1 => 1
i+=1 => i = i+1 => 1+1 => 2
2 <= 100  满 足 返回真True

total += i => totoal = total + i => 0 + 1 + 2 => 3
i+=1 => i = i+1 => 2+1 => 3
3 <= 100  满足  返回真True

total += i => totoal = total + i => 0 + 1 + 2 + 3 => 6
i+=1 => i = i+1 => 3+1 => 4
4 <= 100 满足 返回真True

total += i => totoal = total + i => 0 + 1 + 2 + 3 + 4 + 5 + ...+ 100 => 5050
dai
当i = 101 的时候
101 <= 100 不满足 循环终止...

# (2)死循环写法
#whilie Ture:
    #print(1)

i = 1
flag = True
total = 0
while flag:
   total += i
   i +=1
   # 添加一个能够跳出来的条件
   if i == 101:
      flag = False
print(total)

#打印一行10个小星星

#help 可以查看帮助文档
help(print)

i = 1
while i <=100:
   #end = '' 默认不换行
   print("*",end="")
   i+=1
#用一个变量输出10个小星星(配置while)

i = 0
while i < 10:
   print("★",end="")
   i+=1

二.关于while循环的练习题

1.用一个变量打印出一个十个小星星

(十个小星星塞在一个变量中,最后达成变量)
例:
#法一:
a = 10
res = "★" * a
print(res)
print("===============")
#法二:
i = 0
strvar = ''
while i<10:
   strvar += "★"
   i+=1
print(strvar)
print("===============")
#法三:
i = 0
while i < 10:
   print("★",end="")
   i+=1
print("\n",end="===============\n")
#法四:
print("★★★★★★★★★★")

2.十行十个小星星

例:

#法一:
i = 0
while i < 100:
   #打印星星
   print("☆",end="")
   #打印换行
   if i%10 == 9:
      print()
   i+=1
#法二:
print("===============")
i = 0
while i <= 10:
   j = 0
   while j <= 10:
      print("☆",end="")
      j += 1
   print("\n",end="")
   i += 1

#法三:
#输入数量几就输出几个几行小星星,且奇数为★,偶数为☆
i = 0
n = float(input("请输入星星个数:"))
while i < n :
   if n % 2  == 0:
      j = 1
      while j <= n:
         print("☆", end="")
         j += 1
      print("\n", end="")
      i+=1
   else:
      j = 1
      while j <= n:
         print("★", end="")
         j += 1
      print("\n", end="")
      i += 1

#法四:
j = 0
n = int(input("请输入星星个数:"))
for j in range(0,n):
   i = 0
   strvar = ''
   while i<n:
      if n % 2 == 0:
         strvar += "★"
      else:
         strvar += "☆"
      i+=1
   print(strvar)
   j+=1

3.十行十列隔列变色小星星

例:

#法一
i = 1
while i <= 100:
   #控制打印 隔列打印
      if i % 2==0:
         print("★", end="")
      else:
         print("☆",end="")
      #控制换行
      if i % 10 == 0:
         print()
      i +=1
print("==================")
#法二:
i = 0
strvar = ''
j = 0
while j < 10:
   while i < 10:
      if i%2 == 0:
         strvar +="★"
      else:
         strvar += "☆"
      i+=1
   print(strvar)
   j += 1

print("==================")
#法三:
j = 0
#对行的星星进行排序
for j in range(0,10):
   i = 0
   strvar = ''
   #对列的星星进行排列
   while i < 10:
      if i%2 == 0:
         strvar +="★"
      else:
         strvar += "☆"
      i+=1
   print(strvar)
   j+=1

#法四
count = 1
while count <= 100:
   if count & 1:
      print("★", end="")
   else:
      print("☆",end="")
   if count % 10 == 0:
      print("\n",end="")
   count +=1
print("=======最后一种========")
i = 0
while i < 10:

j = 0
   while j < 10:
      #控制打印星星的代码
      if j % 2 == 0:
         print("★",end="")
      else:
         print("☆",end="")
      j+=1
   print()
   i += 1

4.十行十列隔行变色小星星

例:

#法一

i = 0
while i < 10:
   j = 0
   if i%2 == 0:
      while j <= 10:
         print("★",end="")
         j += 1
      print("\n",end="")
   else:
      while j <= 10:
         print("☆",end="")
         j += 1
      print("\n",end="")
   i += 1
print("=========================")

解析:
n // 2
0 // 2 0
1 // 2 0

2 // 2 1
3 // 2 1

0 // 4 0
1 // 4 0
2 // 4 0
3 // 4 0
4 // 4 1
..
..
4个1 4个2 4个3
任意数和n进行地板除  产生n个相同的数
任意数 // 10 产生十个相同的数
任意数 // 25 产生25个相同的数

#法二
i = 0
while i< 100:
   #打印星星的部分
   if i // 10 %2 == 0:
      print("★",end="")
   else:
      print("☆",end="")
   #执行部分
   if i % 10 == 9:
      print()
   i+=1

解析:

i = 0 1 2 3 4 5 6 7 8 9
i // 10 0
i = 10 11 12 13 14 15 16 17 18 19
i //10 1
...........
i // 10 2
i // 10 得到最后的数范围是0~9
0~9 % 2  0 或者1 正好做黑白星

5.输入几行几列就输出几行几列隔列变色小星星

例:

j = 0
m = int(input("请输入小星星的行数:"))
n = int(input("请输入小星星的列数:"))
#对行的星星进行排序
for j in range(0,m):
   i = 0
   strvar = ''
   #对列的星星进行排列
   while i < n:
      if i%2 == 0:
         strvar +="★"
      else:
         strvar += "☆"
      i+=1
   print(strvar)
   j+=1

Python 基础之循环结构 while的更多相关文章

  1. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  2. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  3. Python 基础之循环结构for及break pass continue

    一.for 循环 #循环 变量 迭代 都是一个意思#把列表里面的元素意义的拿出来就是遍历listvar = ["one","two","three&q ...

  4. python分支和循环结构

    本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决 ...

  5. Python 基础 while 循环

    Python 基础 while 循环 while 循环 在生活中,我们遇到过循环的事情吧?比如循环听歌.在程序中,也是存才的,这就是流程控制语句 while 基本循环 while 条件: # 循环体 ...

  6. 基础语法-循环结构for

    基础语法-循环结构for 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.for循环格式 for(初始化表达式;循环条件表达式;循环后的操作表达式){ 执行语句(循环体); } ...

  7. 基础语法-循环结构do...while

    基础语法-循环结构do...while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.do...while语句格式 do{ 执行语句; }while(条件表达式); 温馨提示: ...

  8. 基础语法-循环结构while

    基础语法-循环结构while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.while语句格式 while(条件表达式){ 执行语句; } 二.while语句案例 /** * ...

  9. Python编程基础:循环结构

    一.为什么要用循环 现在有一个任务,要求你输出一百遍"好好学习,天天向上!",想一想,你会怎么做? (一)老老实实的笨方法 print("第1遍写:好好学习,天天向上!& ...

随机推荐

  1. Bugku-CTF加密篇之告诉你个秘密(ISCCCTF)

    告诉你个秘密(ISCCCTF)   636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5 ...

  2. ubuntu的apt

    1. apt edit-sources  #编辑apt的源列表( 或者直接写这个命令:vim /etc/apt/sources.list ) 2. apt list   #列出包含条件的包(已安装,可 ...

  3. LVS+Keepalived -----> 效率最高的负载均衡器

    一. 简介  1. 负载均衡的类型  负载均衡可以采用硬件设备(例如常常听见的 F5),也可以采用软件负载 商用硬件负载设备成本通常较高(一台几十万甚至上百万),所以一般 情况下会采用软件负载 软件负 ...

  4. Java的单例模式(singleton)

    为什么需要单例?只因为国家的独生子女政策(当然现在可以生2个) 单例是一个很孤独的物种,因为它的类里面做多只有也仅只有它一个. 常见的是懒汉及饿汉模式, 1.懒汉,为什么这么叫,看看英文,原为lazy ...

  5. combotree(组合树)的使用

    一.前言: 组合树(combotree)把选择控件和下拉树结合起来.它与组合框(combobox)相似,不同的是把列表替换成树组件.组合树(combotree)支持带有用于多选的树状态复选框的树. 二 ...

  6. 世界协调时间(UTC)与中国标准时间

    整个地球分为二十四时区,每个时区都有自己的本地时间.在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated).UTC与格 ...

  7. Linux 笔记:虚拟控制台

    登录后按Alt+F2键这时又可以看到"login:"提示符,这个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控制台,可以用Alt+F1~Alt+F4来访问. 虚拟控制台 ...

  8. Debian9安装Metasploit

    参考博文:https://www.jianshu.com/p/ea0629b9e367 0x0 添加Kali源 deb http://http.kali.org/kali kali-rolling m ...

  9. JS 上传图片压缩,原比例压缩

    复制 粘贴 改吧改吧就可用,原生js var fileObj = file.file;//原文件 file是我用vue-vant里的组件,里边有file(原文件)和content(base64) 其它 ...

  10. PCSearch

    1.hinstance:GetModuleHandle(NULL) 2.窗口直角: 方法1:在Oncreate函数中添加以下代码,然而这种方法会导致窗口阴影无效 LONG styleValue = : ...