python基础day04笔记

2018.7.5

day03回顾:



字符串 str
''
""
''''''
""""""


'''first line
second line'''


字符串内的转义字符 '\'
  \n
  \r
  \t
  \'
  \"
  \\
  \xXX
  \uXXXX
  \UXXXXXXXX


ascii (记录128个英文字符对应的编码)
Unicode (记录65536个文字(包含英文的128个ASCII))


ASCII与UNICODE的区别:
  ASCII 用8个位表示文字,最高位一定为0,低7位表示数值
  UNICODE16是由16个位组成的(0~65535)0x0000~0xFFFF


原始字符串
  r''
  r""
  r''''''
  r""""""
  '\n' != r'\n'
字符串的运算
  < <= > >= == !=
  +    *   +=    *= 
  in,  not in 
  索引, 切片


函数:
  len(x)
  max(x)    求最大值的字符
  min(x)
  ord(单个字符)
  chr(整数)


  hex(i)
  oct(i)
  bin(i)  转为字符串


  str(obj)  #将对象转为字符串


  常用的字符串
  S.count
  S.strip()
  S.center()
  S.replace()
  S.startswith()
  S.endswith()
  ....
  查看字符串的方法:
    >>> help(str)  # str是字符串的类型




day04笔记


字符串的格式化表达式
  作用:
    生成一定格式的字符串
  语法格式:
    格式字符串 % 参数值
    格式字符串 % (参数值1, 参数值2, ...)
  说明:
    格式化字符串中以%开头的为占位符,占位符的位置将用参数值替换
  示例:
    fmt="name:%s, age: %d"
    name = "tarena"
    age = 15
    s = fmt % (name, age)  # s = 'name:tarena, age: 15'
    print()


格式化字符串中的占位符和类型码:
  %s     字符串,使用str(obj)转为字符串
  %r     字符串,使用repr(obj) 转为字符串
  %c     整数转为字符串,使用chr(i) 函数
  %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'
    "%05d" % 123     # '00123'
    "%f" % 3.1416926535897932  # '3.141593'
    "%7.2f" % 3.1416926535897932 # '   3.14'






练习:
  输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出
  如:
    请输入第1行: hello world
    请输入第2行: aaa
    请输入第3行: ABCDEFG
  输出结果如下:
            hello world
                    aaa
                ABCDEFG


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




循环语句:
  while 语句
  for 语句


问题:
  输入一个整数n, 写程序打印如下:
     这是第 1 行
     这是第 2 行
     这是第 3 行
     ...
     这是第 n 行
  问题:
    如何让一条语句重复执行多次?
    用:
      print("这是第", i, '行')  
    能否实现




while 语句 
  作用:
    根据一定条件,重复的执行一条语句或多条语句
  语法:
    while 真值表达式:
        语句块1
    else:
        语句块2
  说明:
    1. 先执行真值表达式,测试布尔值是否为True或False
    2. 如果真值表达式测试值为True,则执行语句块1,然后再返回到第1步,重重进行测试
    3. 如果真值表达式测式值为False, 则执行else子句中的语句块2,然后结束此while语句,如果没有else子句,则直接结束此while语句的执行
    注: 
      else 子句部分可以省略(同 if语句类似)
  示例见:
    while.py


练习:
  1. 输入一行字符串,将字符串中Unicode编码值最大的一个字符打印出来(不允许用max函数)
    (提示: while语句内可以嵌入 if 语句进行判断)


  2. 打印 从零开始的浮点数,每个数增加 0.5, 打印出10以内的这样的数:
     0.0
     0.5
     1.0
     1.5
     ...
     9.5




练习:
1. 打印 1 ~ 20的整数


2. 打印从10开始 到 0(不包含0)之间的整数


3. 打印 1 ~ 20的整数,打印在一行内


4. 打印 1 ~ 20的整数,每行打印5个,打印四行如:
  1 2 3 4 5
  6 7 8 9 10
  11 12 .....
  .....
  提示: while中可以嵌入if语句来换行


5. 输入一个整数n, 打印出一个长方形
   n 代表长方形的宽度的字符数和高的行数
   例如:
     请输入:4
    打印:
      ####
      #  #
      #  #
      ####
     请输入:6
    打印:
      ######
      #    #
      #    #
      #    #
      #    #
      ######










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


while 语句的嵌套
  while 语句本身是语句,和其它语句一样,可以嵌套放入任何复合语句中


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


sublime text 3 快捷键:
    ctrl + shift + 上下  # 交换行
    ctrl + ]   # 向右缩进
    ctrl + [   # 向左缩进




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






练习:
  1. 写程序,计算:
    1 + 2 + 3 + 4 + ..... + 99 + 100的和


  2. 写程序,任意输入一个数n,计算:
    1 + 2 + 3 + 4 + ..... + (n-1) + n的和




break 语句
  问题:
    如果在循环过程中不想再继续此循环语句的执行了,怎么办?
  作用:
    用于循环语句(while, for)中,用来终止当前循环语句的执行
  说明:
    1. 当break语句执行后,此循环语句break之后的语句将不再执行
    2. break 语句通常和 if 语句组合使用
    3. break语句终止循环时,循环语句else子句的语句将不会执行
    4. break 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
    5. break 语句只能在循环语句(while或for语句)内部使用
  示例见:
    break.py


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


示例:
i = 1
while True:
    n = int(input("请输入一个数: "))
    if n == i:
        print("跳出循环")
        break
    print(i, n)
    i += 1






练习:
  1. 任意输入一些数,当输入负数时结束输入
    当输入完成后,打印您输入的这些数的和是多少?


  2. 写程序求:
    Sn = 1 + 1/2 + 1/4 + 1/8 + .... + 1/(2**n)
    求当n等同于100时,sn的值是多少?
  3. 用while语句实现打印三角形,输入一个整数,表示三角形的宽度和高度,打印出相应的直角三角形:
    如:
      请输入三角形的宽度: 4
      1) 打印如下:
        *
        **
        ***
        ****
      2) 打印如下:
           *
          **
         ***
        ****
      3) 打印如下:
        ****
         ***
          **
           *
      4) 打印如下:
        ****
        ***
        **
        *

猜你喜欢

转载自blog.csdn.net/qq_42584444/article/details/81057656