python3基础04

day04
字符串格式化表达式
  作用:
   生成一定格式的字符串
  运算符:
   %
  语法格式:
   格式字符串 % 参数值
   或
   格式字符串 %(参数值1,参数值2,....)
  说明:
    %左侧为格式字符串
    %右侧为参数值,当有多个参数值时用括号()括起来,并有逗号(,)分隔
    格式化字符串中以%开头的占位符,占位符的位置将用参数值替换
  示例;
   1.
   fmt="name"%s,"age"%d
   s=fmt % ('weimingze',35)
   print(s)  #name:weimingze,age:35
   2.
   "温度:__%d__" %32

   格式化字符串中的占位符和类型码
     %s   字符串,使用str(X)将x转换为字符串
     %r   字符串,使用repr(X)将x转换为字符串表达式''
     %c   整数转换为单个字符  chr(x)
     %d   转为十进制整数
     %o   转为八进制整数
     %x   十六进制整数(字符a-f小写)
     %X   十六进制整数(字符A-F大写)
     %e   指数浮点数(e小写),如2.9e+10
     %E   指数浮点数(E大写),如2.9E+10
     %f,%F  浮点数(小数形式)
     %g,%G   十进制浮点数或指数浮点数自动转换
     %%   等用于一个%字符

   占位符和类型码之间的格式化语法:
     % [- + 0 宽度.精度] 类型码
     -:  左对齐
     +:  显示正号
     0:  左侧空白位置补零
     宽度: 整个字符串的字符个数
     精度: 保留小数点后多少位(默认6位)(适用浮点数)

   示例:
     "%10d"   % 123                 # '         123'
     "%+10d"  % 123                 # '       +123'
     "%-10d"  % 123                 #'123          '
     "%10s"   % 'abc'               #'          abc'
     "%-5s"   % 'abc'               #'abc  '
     "%010d"  % 123                 #'0000000123'
     "%7.3f"  % 3.141592535897932   #'3.141'
     "%07.2f" % 3.141592535897932   #'0003.14'


     练习:
     1.任意输入三行文字,让这三行文字依次以20个字符的宽度右对齐显示输出
     如:
        请输入第一行:hello world
        请输入第二行:abcd
        请输入第三行:a
      输出结果为:
                hello world
                       abcd
                          a
      思考:
       能否以最长字符的长度进行右对齐显示(左侧填充空格)?


  循环语句
    有两条循环语句:
       while语句
       for语句
     问题:
      输入一个整数n,写程序打印如下n行字符串
         这是第一行
         这是第二行
         这是第三行
         这是第四行
         ...
         这是第n行
      如何让一条语句重复执行多次?
        如果i是一个变量,
         print('这是第',i,'行')

      while语句:
        作用:
         根据一定的条件,重复执行一条语句或多条语句
        语法:
        while 真值表达式:
              语句块1
        else:
            语句块2

       说明:
        1.先判断真值表达式,为True或False
        2.如果为True,则执行语句块1,再回到第一步
        3.如果为False,则执行语句块2,然后结束此while的执行
        4.else子句部可以省略(同if语句)
       示例:
       while.py
       while2.py
 
  练习
    1.打印1-20的整数,打印在一行内
      123456789....18 19 20
    2.打印1-20的整数,每行打印5个,打印四行
    如:
      1  2 3 4  5
      6  7 8 9  10
      .....
    3.用while语句打印10-1的整数
     10  9  8  7  6  5  4  3  2  1 
    4.打印从0开始的浮点数,每个数增加0.5,打印出10以内这样的数
      0.0
      0.5
      1.0
      1.5
       ...
      9.5
    5.写程序,计算:
      1+2+3+4+5+6+.....+100
    6.写一个程序:
    输入一个开始的整数,用变量begin绑定
    输入一个结束的整数,用变量end绑定
    打印 从begin到end(不包含end)的每个整数
    打印在一行内
    如:输入开始值:8
       请输入结束值:100
      打印:
       8  9  10  11  .... 99

       思考:如何实现5个数打印在一行内,打印多行

 while的注意事项:
   要控制循环真值表达式的值来防止死循环
   通常用真值表达式内的循环变量来控制循环条件
   通常在循环语句块内改变循环变量来控制循环次数和量走向


 while语句的嵌套
    while语句本身是语句,和其它语句一样,可以嵌套到任何复合语句中
 示例:
    while 真值表达式1:
       ...
         while 真值表达式2:
           ...
         else:
           ...

    else:
       ...

  示例:
   打印1-20的整数,打印在一行内
   while.py
        

  练习:
    输入一个整数代表正方形的宽度,用变量n绑定,打印指定宽度的正方形
    如:
     请输入:5
    打印如下:
     12345
       12345
     12345
     12345
     


 break语句
    作用:
     用于循环语句中(while,for语句)中,
     用来终止当前循环语句的执行
    语法:
     break
    说明:
      1. 当break语句执行后,此循环语句break之后的语句将不再执行
      2.break语句通常和if语句组合使用
      3.break语句终止循环时else子句的语句将不会再执行
      4.break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
    示例:
      break.py

 
 死循环:
   死循环是指条件一直成立的循环
   死循环通常用break语句来终止循环
   死循环的else子句永远不会执行
 示例:
   death_loop.py

练习:
 1. 任意输入一些正整数,当输入负数时结束输入
  当输入完后,打印你输入的这些数的和
 如:
  请输入:1
  请输入:2
  请输入:3
  请输入:4
  请输入:-1
  打印:
  您刚才输入的这些数的和是:10

 2.输入一个整数n,打印宽度为n个字符的正方形
   如:
    请输入:4
   打印:
     ####
     #  #
     #  #
     ####

    如:
     请输入:6
    打印:
      #####
      #   #
      #   #
      #   #
      #   #
      #####

练习:
1.求下列多项式的和
   1+ 1/2 +1/4 +1/8 +......+ 1/2**1000的和
2.写程序求:
  1-1/3+1/5-1/7+1/9+....+1/(2*n-1)的和
   1)求当n等于10000时,此公式的和
   2)将上述结果乘以4后打印出来(看看这个数是什么?)
3.用while语句打印三角形,输入一个整数,表示三角形的高度和宽度,打印出相应的直角三角形
   如:
   请输入三角形的宽度:4
   1)打印如下三角形:
     *
     **
     ***
     ****
   2)打印如下三角形:
       *
      **
     ***
    ****
    3) 打印如下三角形:
    ****
     ***
      **
       *
    4)打印如下三角形:
    ****
    ***
    **
    *

      

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值