python学习笔记day04

day03回顾:

  • 字符串 str
    字符串内存放的是有先后顺序关系的文字编码
    字面值:
    ‘’
    “”
    ‘’’’’’
    “”"""" (所见即所得字符串,回车键会自转换为换行)

  • 转义符号
    \n ’ " \ \r \t \b
    \0oo \xXX \uXXXX \UXXXXXXXX
    \0 等同于 \x00
    ‘A’ 65 0x41
    ‘a’ 97 0x61
    ‘0’ 48 0x30
    ’ ’ 32 0x20

  • 原始字符串:
    raw字符串
    r’’
    r""
    r’’’’’’
    r"""""" ( \ 转义无效)

  • 字符串运算:
    + += * *=
    < <= > >= == !=
    in / not in (返回值是布尔类型)

  • 索引 []
    正向索引 0 1 2 3 …
    反向索引 -1 -2 … -len(x)
    切片 [:] [::]
    s[整数开始值: 整数结束值: 整数步长]

  • 函数:
    len(x) / max(x) / min(x)
    ord© chr(i)
    bin(x) oct(x) hex(x)
    str(x)

  • 字符串的方法:
    S.isalpha()
    S.isdigit()
    S.center(n, fill=’ ')
    S.replace(old, new, count)
    S.strip() 支掉空白字符
    S.startswith(ch)
    S.endswith(ch)
    S.count()

    详见:字符串的方法

day04笔记:

字符串的格式化表达式:

  • 作用:
    生成一定格式的字符串
  • 运算符:
    %
  • 语法格式:
    格式字符串 % 参数值
    格式字符串 % (参数值1, 参数值2, …)
  • 说明:
    格式字符串中以%开头的字符为占位符,占位符的位置将用参数值替换
    • 示例:
      fmt = “姓名: %s, 年龄: %d”
      name = input(‘请输入姓名:’) # xiaoli
      age = int(input(‘请输入年龄:’)) # 20
      s = fmt % (name, age)
      print(s) #姓名: xiaoli, 年龄: 20
格式化字符串中的占位符和类型码
%s字符串,使用str(x) 函数转换
%r字符串,使用repr(x) 函数转换
%c整数转为单个字符
%d整数转为十进制整数
%o整数转为八进制整数
%x整数转为十六进制整数(字符a-f小写)
%X整数转为十六进制整数(字符A-F大写)
%e指数形浮点数(e小写) 如 2.9e10
%E指数形浮点数(E大写) 如 2.9E10
%f,%F浮点数十进制形式
%g,%G十进制形式或指数形式浮点数自动转换
%%等同于一个百分号
  • 占位符和类型码之间的格式化语法:

    • 格式:
      % - + 0 宽度.精度 类型码
    • 说明:
      - 左对齐(默认是右对齐)
      + 显示正号
      0 左侧空白位置补零
      宽度: 整个数据输出的宽度
      精度: 保留小数点后多少位(默认6位)
    • 示例:
      “%10d” % 123 # ’ 123’
      “%-10d” % 123 # ‘123 ’
      “%10s” % ‘abc’ # ’ abc’
      “%-5s” % ‘abc’ # 'abc ’
      “%-+10d” % 123 # ‘+123 ’
      “%010d” % 123 # ‘0000000123’
      “%f” % 12.34567890 # ‘12.345679’
      “%.2f” % 12.34567890 # ‘12.35’
      “%7.2f” % 12.34567890 # ’ 12.35’
  • 练习:
    输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出
    如:
    请输入第1行: hello beijing
    请输入第2行: abcd
    请输入第3行: a
    输出结果:

     hello beijing
              abcd
                 a
  • 做完上面的题后再思考:
    能否以最长字符串的长度进行右对齐显示(左侧填充空格)

循环语句

 while 语句
 for 语句
  • 问题:
    输入一个整数n, 写程序打印如下n行文字
      这是第 1 行
      这是第 2 行
      这是第 3 行

      这是第 n 行
    程度如下:
    n = int(input(“请输入数字”))
    i = 1
    if i <= n:
    print(“这是第”, i, ‘行’)
    i += 1
    示例详见: loop_demo.py

  • while语句:

    • 作用:
      根据一定条件,重复的执行一条语句或多条语句

    • 语法:
      while 真值表达式:
      语句块1(*此部分的语句可能会重复执行)
      else:
      语句块2

    • 说明:
      else 子句可以省略(同if类似)
      执行步骤:

      1. 先执行真值表达式,测试布尔值是否为True或False
      2. 如果真值表达式测试值为True, 则执行语句块1,然后再回到第1步
      3. 如果真值表达式测试值为False,则执行else子句中的语句2,然后结束此while语句.如果没有else子句,则直接结束此while语句的执行
    • 思考:
      打印 1 ~ 20的整数

  • 练习:

  1. 写程序 打印 1 ~ 20的整数,打印在一行显示,每个数字之间用空格分隔
    1 2 3 4 5 6 … 18 19 20
    提示:
    print(n, end=’ ')
  2. 打印1 ~ 20 的整数,每行打印5个,打印4行
    如:
    1 2 3 4 5
    6 7 8 9 10
    11 …
  3. 输入一个整数,打印一个宽度和高度都是n个字符的长方形
    如:
	  输入: 4
 	  ####
      #  #
      #  #
      ####
        输入: 6
      ######
      #    #
      #    #
      #    #
      #    #
      ######
  • 练习:

    1. 写程序, 计算:
      1 + 2 + 3 + 4 + … 100 的和
      并打印结果
      提示: 用一个专用的变量初始化为零,用它来保存和

    2. 写程序.
      输入一个开始值用begin绑定
      输入一个结束值用end绑定
      计算:
      从begin开始,到end结束的所有整数的和
      如:
      请输入开始值: 1
      请输入结束值: 10
      打印:
      和是: 55

  • 写一个程序
    输入一个开始整数值用变量 begin绑定
    输入一个结束整数值用变量 end绑定
    打印从begin开始到end结束的每个整数,打印在一行内
    如:
    请输入开始值: 8
    请输入结束值: 30
    打印:
    8 9 10 11 12 13 … 30
    完成后思考: 如何实现每5个整数打印在一行内,打印多行
    提示: 可以多加一个变量来记录打印个数

  • while 注意事项:

    1. 要控制循环的真值表达式来防止死循环
    2. 通常在循环语句块内改变循环变量来控制循环次数和变量的走向
  • while 语句的嵌套
    while 语句本身也是语句,和其它语句一样,可以嵌套到任何复合语句中

    • 示意:
    while 真值表达式:
        ...
        while 真值表达式2:
            ...
        else:
           ...
        ...
    else:
        ...
  • 示例:
    打印 1 ~ 20整数,打印在一行内
    1 2 3 4 5 6 … 20
    打印以上的十行

  • 练习:
    输入一个数,打印指定宽度的正方形
    如:
    输入: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

  • break 语句

    • 问题:
      如果在循环过程中,不想再继续执行此循环的执行了,怎么办?
    • 作用:
      用于循环语句(while,for语句)中,用来终止当前循环语句的执行
    • 说明:
      1. 当break执行后,此循环语句内break之后的语句将不再执行
      2. break 通常和if语句组合使用
      3. break 终止循环时,循环语句的else子句将不会被执行
      4. break 语句只能终止当前循环语句的执行.如果有循环嵌套时,不会跳出外重循环
  • 死循环
    死循环是指条件一直成立的循环
    死循环通常用break语句来终止循环
    死循环的else子句永远不会执行
    死循环通常用在循环次数不确定的循环中

    示例:

    while True:
        n = int(input("请输入整数:"))
        if n == 0:
            break
        print("您输入的是:", n)
  • 练习:
    写一个程序, 任意输入一些整数,当输入小于零的数时结束输入,当输入完成后,打印您输入的这些正整数的和
    如:
    请输入: 1
    请输入: 2
    请输入: 3
    请输入: 4
    请输入: -1
    打印: 您刚才输入的这些正整数的和是: 10

  • 练习:

    1. 打印从零开始的浮点数,每个数增加0.5,打印出10以内这样的数
      0.0 0.5 1.0 1.5 … 9.0 9.5
    2. 写程序求:
      1/1 + 1/3 + 1/5 + 1/7 + … + 1/99的和
    3. 输入一个整数表示三角形的宽度和高度,打印出如下的三角形:
      如:
      请输入三解形的宽度: 4
      打印如下:
      *
      **

    4. 写程序,输入一个整数代表正方形的宽和高,打印如下的正方形:
      如:
      请输入宽度: 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
      如:
      请输入宽度: 4
      打印正方形如下:
      1 2 3 4
      2 3 4 5
      3 4 5 6
      4 5 6 7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值