while..else 循环和 for 循环


while循环: 一般和 if 语句一起使用

   根据条件重复的去执行某一条语句

 语句:
  while   真值表达式
          语句块1....

  else:

          语句块2....

说明:
     1. 先执行真值表达式, 测试布尔值为True 或者 False
     2. 如果真值表达式的测试值为True, 则执行语句1,然后再返回到第一步
        重复进行测试
     3. 如果真值表达式的测试值为False, 则执行else子句的语句块2, 然后结束此while语句的执行,如果没有else子句, 则直接结束while语句的执行

     4.else 子句部分可以省略(同if语句类似)

while 语句的嵌套:
    while语句本身是语句, 和其它语句一样可以嵌套在其它符合语句中
    如(如: if语句, while语句, for语句....的内部)


while  语句嵌套示意:
  while 真值表达式:
      .......
      while 真值表达式2:
           . ...
      eles:

           .....

示例:
n = int(input("请输入一个数:"))

i = 1
while i <= n:
    j = 1
    while j <= n :
        print(j, end = " ")
        j += 1
    else:
        print()
    i += 1




练习:
  输入一个数, 打印指定宽度的正方式:

   如:
      请输入: 5
       打印正方形如下:


       1 2 3 4 5
       1 2 3 4 5
       1 2 3 4 5
       1 2 3 4 5
       1 2 3 4 5

  如:  
    请输入:3
    打印正方形如下:

   1 2 3
   1 2 3

   1 2 3 


死循环: death loop:
   
  1. 死循环是指循环条件一直成立的循环
  2.死循环通常用break语句来终止循环
  3.死循环的else子句永远不会执行




示例:
   用input 输入一些文字, 当输入三个星号时代表输入结束
  打印您刚输入的所有的文字(换行时自动加上换行符)

 death_loop.py

 6 用while语句实现打印三角形, 输入一个整数, 表示三角形的宽度和高度, 打印出相应的三角形:
   如:
     请输入三角形的宽度: 4
1.     打印结果如下:
   *
   **
   ***
   ****
 
   ****
   ***
   **
   *


2  再打印:
      *
     **
    ***
   ****
   ****
    ***
     **
      *
4 再打印:
 ****
 ***
 **
 *


2写一个程序
  输入一个开始的整数值用变量begin绑定
  输入一个结束的整数值用变量end 绑定
  打印从begin 到 end (不包含end)的每个整数(
  打印在一行内)
  如:
   请输入开始值: 8
   请输入结束值:30
   打印结果:
   8 9 10 11 12 13 ......29
   附加思考:
    如果实现每5个数字打印在一行内?

  3. 用while 循环生成一个字符串:
     1. 生辰个‘ABCDEFG.........XYZ' 并打印
     2. 生成 “AaBbCc............Zz  并打印

    提示用chr 和ord函数


for语句(循环语句)

  作用:

iterble

   用来遍历可迭代对象的数据元素:

    遍历: 每个数据经历一遍(经历且经历一次) 每个数据都访问一遍
    可迭代对象: 是指能依次获取数据元素的对象 iterable 可迭代的
  语法:
     for 变量列表 in 可迭代对象:
          语句块1.....
    else:
          语句块2 .....



语法说明:
    1. 可迭代对象每次提供一个元素一次赋值给变量列表中变量,赋值完毕后执行语句块1
         重复执行此步骤
    2. 当可迭代对象不能够提供数据时, 执行else子句部分的语句块2, 然后退出循环
    3. else子句部分可以省略(同while语句类似)
    4. 当在语句内部用break终止循环时, else子句部分语句块1不会执行

任意输入一行字符串:然后,打印这个字符串有多少个空格(不要用for语句,不能用s.count方法)



range(范围) step(步长) step(步长) step(步长)
range()函数:
     作用:
      用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)

    调用格式:
     range(stop)
     从0开始, 每次生成一个整数后加1操作, 直到stop为止(不包括stop)
     range(start, stop[,step])从start开始, 每次生成一个整数后移动step,直到
     stop为止(不包含stop, 且step可以为负数)


示例:  
    >>> for x in range(4):
...     print(x, end=" ")
...
         0 1 2 3

  range(3, 6) 3 4 5
  range(1, 10, 2)1, 3, 5, 7, 9     
  range(5, 0, -2) 5, 3, 1
  range(4, 1) #空

 示例见:  range.py


请问此程序的打印结果是什么? 说明什么问题?

i = 10
for x range(1, i):
  print(x)
  i -= 2





for 语句嵌套:
       示意:

     for x in 'abc':
       for y in "123"
          print(x + y)

练习:
  用for 循环嵌套打印如下矩形:
      (输入一个数n(10以内)代表矩形的宽度和高度)

      如:
        请输入:5

      打印如下:

      1 2 3 4 5
      2 3 4 5 6
      3 4 5 6 7
      4 5 6 7 8
      5 6 7 8 9

大写变小写就是UNICODE值 +32
问题:
   输入一个开始的整数用begin绑定
   输入一个开始的整数用end绑定
   打印 begin ~ end 之间所有的奇数



练习:

 写一个程序,  求1 ~100 之间所有不能被
 5, 7, 11整除的数的和







你可能感兴趣的:(python基础)