一.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. 通过ping和tracert命令来判断网络经过多少个路由。trace和route合作

    摘抄自: https://blog.csdn.net/foreverhuylee/article/details/49853075 当我们访问某个网络时,通过tracert命令,就能知道本机与目标主机 ...

  2. 【代码学习】PYTHON 线程

    一.使用threading模块多线程执行 可以明显看出使用了多线程并发的操作,花费时间要短很多 创建好的线程,需要调用start()方法来启动 #coding=utf-8 import threadi ...

  3. Qt QML Component 学习笔记

    简介 Component是Qt封装好的.只暴露必要接口的QML类型,可以重复利用.一个QML组件就像一个黑盒子,它通过属性.信号.函数和外部世界交互. 一个Component既可以定义在独立的QML文 ...

  4. vue中,实现锚点定位及跳转(url不发生变化)

    <div class="footer" @click="returnTop"> methods:{ returnTop:function(){ do ...

  5. Linux - 终端terminal进入交互环境的快捷键

    1. 上一页 ctrl + b 2. 下一页 空格 / ctrl + f 3. 上半页 ctrl + u 4. 下半页 ctrl + d 5. 上一行 k 6. 下一行 j 7. 向上查找 ?key ...

  6. python opencv:使用滑动条做调色板

    cv2.getTrackbarPos() 函数的 一个参数是滑动条的名字, 第二个参数是滑动条被放置窗口的名字, 第三个参数是滑动条的默认位置. 第四个参数是滑动条的最大值, 第五个函数是回调函数,每 ...

  7. 创业学习---《预判项目的长期壁垒》--B-3.预判模块---HHR计划---以太一堂

    一,<开始学习> 1,投资人经常会问CEO:你的项目的长期壁垒是什么?你是怎么思考的? 2,三个预热思考题: (1)突然有一天,大公司要抄你,你会怎么办?  答:用增长技术来和他竞争. ( ...

  8. HYSBZ-2038小Z的袜子

    作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到N编号,然后从 ...

  9. SprintBoot学习(三)

    Thymeleaf模板引擎 1.thymeleaf是一个Java类库,,他是xml/xhtml/html5的模板引擎可以作为view层 2.themeleaf基本语法 引入thymeleaf < ...

  10. JS打开浏览器新窗口

    window.open(URL,name,features,replace); 参数 描述 URL 一个可选的字符串,声明了要在新窗口中显示的文档的 URL.如果省略了这个参数,或者它的值是空字符串, ...