一.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. nested exception is org.apache.ibatis.binding.BindingException: Parameter 'cons_id' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]

    修改DAO层的类中的方法,如下所示:

  2. 原生java与js结合

    链接:https://www.jb51.cc/html5/15606.html

  3. mysql int类型字段插入空字符串时自动转为0

    mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT ...

  4. Linux编程日常错误

    编译的时候出现如下错误提示: undefined reference to `sem_init'undefined reference to `sem_post'undefined reference ...

  5. Robot Framework高级

    一.Web自动化测试 二.C/S自动化测试 三.数据库自动化测试 四.接口自动化测试 五.RF内置测试库 六.持续集成内置测试库 七.移动自动化测试 八.自定义RF

  6. easyapi用法

    https://www.easyapi.com/api/?documentId=1773&themeId=

  7. Django ORM中的模糊查询

    ORM映射 什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降.例如: UserInfo.objects. ...

  8. Steam 游戏 《Sudoku Universe(数独宇宙)》——[数独基本局分析]

    日期:2020.02.12 博客期:152 星期三 老师给的任务都做完了,15篇博客也都写好了,剩下的几天居然还要每天写一篇~唉~为难我 PH ,剩下的几天就把 我的数独要义分享一下吧! 1.基本局规 ...

  9. SmartAssembly批处理用法

    在SmartAssembly.exe根目录有个SmartAssembly.com . 在命令行执行SmartAssembly.com就能看到所有的命令参数了. 用SmartAssembly.exe建好 ...

  10. 多进程 多进程queue

    多进程 import multiprocessing import threading import time def thread_run(): print(threading.get_ident( ...