一.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

转载于:https://www.cnblogs.com/hszstudypy/p/10803002.html

Python 基础之循环结构 while相关推荐

  1. Python教学 | Python 中的循环结构(上)【附本文代码和数据】

    查看原文:[数据seminar]Python教学 | Python 中的循环结构(上)[附本文代码和数据] (qq.com) Part1引言 上期文章我们向大家介绍了 Python 程序控制结构中的分 ...

  2. python基础 while循环练习

    这篇文章主要给大家分享的是5道关于python基础 while循环练习题,无论学习什么语言,练习都是必不可少的,下面文章的练习题挺精湛的,需要的朋友可以参考一下 1. 使用while循环输出1 2 3 ...

  3. Python基础之循环语句

    Python基础之循环语句 一.循环语句介绍 1.循环语句理解 2.循环语句示意图 二.循环语句的分类 三.循环控制语句 四.while循环 1.while死循环 2.while条件循环 五.brea ...

  4. python使用循环结构计算10_十二、 python中的循环结构

    我们要计算1+2+3的时候,可以直接写出来,但是计算1+2+3+···+100的时候,就不能写了.如果计算1到1亿的和,全写出来就有点不现实了.为了让计算机能计算出1到1亿的和,这时候就需要循环结构了 ...

  5. python中用于循环结构的关键字_详解Python的循环结构知识点

    循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...

  6. python基础——while循环(九九乘法表,阶乘计算器,三角形图案打印输出)

    python基础--while循环(九九乘法表,阶乘计算器,三角形图案打印输出) 一.目的 本人最近在学习python的基础语法,此文章用来记录学习过程所用,本文章讲述的是while循环的一些基础实例 ...

  7. python程序的循环结构_四、python程序结构之循环结构

    循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...

  8. 第四章 python中的循环结构

    目录 一.python中的内置函数 1. range(stop) 2.range(start,stop) 3.range(start,stop,step) 4.range的实际应用 二.python中 ...

  9. Python.习题四 循环结构

    Python.<习题四> 循环结构 1.编写程序,计算1×2×3×-×10. s=1 i=1 while i<=10:s=s*ii=i+1 print("s=", ...

最新文章

  1. Microbiome:马铃薯疮痂病与土壤微生物组关系新进展
  2. matlab基本运算与函数
  3. 比特币、莱特币来一发?
  4. java listener详解_Java监听器Listener使用详解
  5. Socket代码实现服务端 和 客户端之间通信
  6. 11月 北京 | 高性能之GPU CUDA 3天密集式进阶课程
  7. 技能系统设计笔记 3
  8. Ajax 与 XmlHttpRequest
  9. 单片机c语言论文参考文献,单片机应用程序论文,关于关于单片机应用编程的技巧相关参考文献资料-免费论文范文...
  10. 红山区智慧城管系统正式上线运行
  11. 图解:冒泡排序及其优化
  12. hdmi接口线_HDMI高清线注意事项
  13. 周金瑞11.17黄金还会涨?黄金原油价格分析及白银操作建议
  14. SpringCloud学习笔记(八)Gateway 网关
  15. because an app is obscuring a permission request,无法开启USB调试
  16. JSON.stringify格式化Json字符串
  17. Metal 框架之资源存储模式
  18. 图书管理系统---用户模块
  19. android Stopwatch实例
  20. IDEA设置背景为自定义照片

热门文章

  1. 基于Android13的系统启动流程分析(六)之SystemServer内部逻辑分析
  2. UNI-APP在使用SubNvue原生子窗体时,清理缓存的问题
  3. #《JAVA程序设计》 20155214 实验五 网络编程与安全
  4. 女神问:有多喜欢她?我立马画出了女神的素描画!结果...
  5. 嵌入式GUI及其开发工具——miniGUI和mStudio
  6. 渗透之——Metasploit渗透BSPlayer V2.68
  7. Idea新建项目并推送到远程仓库
  8. 白话Angular词汇
  9. outlook 2003 使用技巧
  10. 8月11日 集训测试