python期末复习

Python期末复习

第二章 基本程序设计
eval('3')               # 3 
eval('3') + eval('4')   # 7
eval('abc')             #报错,abc没有定义
x , y = y ,x            #x,y互换
eval('34') == eval('3' + '4')
integer = eval(input('Enter an integer:'))
q = integer // 1000 
b = integer // 100 % 10
g = integer % 1000 % 100 // 10
s = integer % 1000 % 100 %10
print(s,g,b,q)

在这里插入图片描述

第三章 数字函数,字符串和对象
  1. 符串和字符
    ord('a') #返回字符的ascii码          97
    chr(98)  #返回ascii码的code字符      'b'
    
  2. 对象和方法
    n = 3        
    id(n)    #2426581877040
    type(n)  #int
    
    s1 = 'HELLO'
    s1 = s1.lower()    # 'hello'
    s1
    
    s2 = 'hello'
    s2 = s1.upper()    #'HELLO'
    s2
    
  3. strip():删除字符串两端的空格
    s = '\t Welcome \n'
    s1 = s.strip()      #'Welcome'
    s1
    
    s = '\t \n\t123e\t12\nsa  \t\n\t'
    s.strip()        #'123e\t12\nsa'
    
    '''\t,\f,\r,\n都属于空格'''
    
  4. object.find(str(被查找字符),beg = 0(开始索引),end(结束索引)).如果找到则返回object中第一次出现str的索引值,否则返回-1 。
  5. format() 函数 ‘.2f’ 四舍五入后保留小数点后2位小数
    round(0.1532,2)                  # 0.15
    format(0.125,'.2f')              #'0.12'
    
    #数值类型默认右对齐,小数点也占一位
    format(57.467657,'10.2f')        #'     57.47'
    format(12345678.923,'10.2f')     #'12345678.92'
    format(57.4,'10.2f')             #'     57.40'
    format(57,'10.2f')               #'     57.00'
    format(57,'.2f')                 #'57.00'
    
    #字符串默认左对齐
    format('hello! Amber','20s')     #'hello! Amber        '
    format('hello! Amber','<20s')    #'hello! Amber        '
    format('hello! Amber','>20s')    #'        hello! Amber'
    format('hello! Amber!hello! Amber!','>20s')
                                     #'hello! Amber!hello! Amber!'
        
    #  %也占一位
    format(0.456789101112,'9.3%')    #'  45.679%'
    format(0.456789101112,'<9.3%')   #'45.679%  '
    
  6. object.split (str=’’,num = string.count(str))
    str = 'Line1-abcdef \nLine2-abcdef \nLine3-abcdef'
    str.split()     
    #['Line1-abcdef', 'Line2-abcdef', 'Line3-abcdef']
    
    str.split(' ',1)
    #['Line1-abcdef', '\nLine2-abcdef \nLine3-abcdef']
    
    s = 'apple,peach,banana,pear'
    s.split(',',2)
    #['apple', 'peach', 'banana,pear']
    
    s = 'asda\t as\nsada  saa\nasda'
    s.split('s')
    #['a', 'da\t a', '\n', 'ada  ', 'aa\na', 'da']
    s.split('\n')
    #['asda\t as', 'sada  saa', 'asda']
    
第四章 选择
  1. 布尔类型、值和表达式
    • python用1代表True ;用0代表False
    • True是python关键字;一个布尔字面量(对);等同于1(错)
    • Python将任何非零非空值视为True,如果一个对象为0或者为空,那么被视为Flase
  2. 生成随机数
    • random.randint(a,b) 从范围[a,b]中返回一个随机整数,包括a和b
    • random.random() 从范围(0,1)中返回一个随机**浮点数****
    • randrange(a,b) 从范围[a,b)中返回一个随机整数,包括a但不包括b,与 random.randint(a,b - 1 )相同
    • random.sample(object(eg.string,list),number) 多用于截取列表的指定长度的随机数,但不改变列表本身的顺序
    random.randint(0,10)           #8
    random.random()                #0.1632552069197507
    random.randrange(0,10)         #9
    random.sample(range(1,100),3)  #[25, 5, 82]
    random.sample(range(1,100),4)  #[4, 53, 28, 79]
    
  3. if i > 0 :
       x = 1
       y = 1
    

    可以使用任何宽度的空格,但一定要对齐

  4. 条件表达式
    if x > 0:
    	y = 1
    else:
    	y = -1
    
    y = 1 if x > 0 else -1
    
    if number % 2 == 0:
    	print(number,'is even.')
    else:
    	print(number,'is odd.')
    	
    print(number,'is even.' if number % 2 == 0 else 'is odd.')
    
第五章 循环

0 % 2 = 0 1 % 2 = 0

  1. 举例

    1. 乘法口诀表

      #乘法口诀表
      print('           Multiplication Table')
      print(' '* 2 ,end = ' ')
      for i in range(1,10):
          print(format(i,'4d'),end = ' ')
      print()
      print('-' * 4 * 12)
      for i in range(1,10):
          print(i,end = '| ')
          for j in range(1,10):
              print(format(i * j,'4d'),end = ' ')
          print()
      

在这里插入图片描述

  1. 嵌套循环

    for i in range(1,5):
        j = 0
        while j < i:
            print(j,end = ' ')
            j += 1
            
    # 0 0 1 0 1 2 0 1 2 3 
    
    i = 5
    while i >= 1:
        num = 1
        for j in range(1,i + 1):
            print(num,end = 'xxx')
            num *= 2
        print()
        i -= 1
        
    1xxx2xxx4xxx8xxx16xxx
    1xxx2xxx4xxx8xxx
    1xxx2xxx4xxx
    1xxx2xxx
    1xxx
    
    for i in range(1,9):
        print(' ' * 4 * (8 - i),end = ' ')
        for j in range(0,i):
            print(format(2 ** j ,'3d'),end = ' ')
        for j in range(0,i - 1):
            print(format(2 ** (i - j - 1),'3d'),end = ' ')
        print()
    
  2. 找出最大公约数

    #找出最大公约数
    n1 = eval(input('Enter first integer:'))
    n2 = eval(input('Enter second integer:'))
    gcd = 1
    k = 2
    while k < min(n1,n2):
        if n1 % k == 0 and n2 % k == 0:
            gck = k
        k += 1
    print(n1,'和',n2,'的最大公约数是',gck)
    
    #或者
    n1,n2 = eval(input('Please enter two integer:'))
    for i in range(1,min(n1 + 1, n2 + 1)):
        if n1 % i == 0 and n2 % i == 0:
            a = i
    print(n1,'和',n2,'的最大公约数是',a)
    
  3. break 和 continue

    1. break帮助退出整个循环

    2. continue帮助退出或跳过当前的迭代

      sum = 0
      number = 0
      while number < 20:
          number += 1
          sum += number
          if sum >= 100:
              break
          
      print('The number is ',number,'\nThe sum is ',sum)
      
      #The number is 14
      #The sum is 105
      
      sum = 0
      number = 0
      while number < 20:
          number += 1
          if number == 10 or number == 11:
              continue
          sum += number
      print('The sum is ',sum)
      
      # 10 与 11并没有加入
      #The sum is 189
      
      #break and continue
      b = 1000
      while 1:
          if b < 9:
              break
          b = b - 9
      print('b is ',b)
      #b is 1
      
      b = 1000
      while 1:
          if b < 9:
              continue
          b = b - 9
      print('b is ',b)
      #陷入死循环
      
      #break and continue
      for i in range(1,4):
          for j in range(1,4):
              if i * j > 2:
                  break
              print( i * j)
          print(i)
       
      1
      2
      1
      2
      2
      3
      
      for i in range(1,4):
          for j in range(1,4):
              if i * j > 2:
                  continue
              print( i * j)
          print(i)
      
      1
      2
      1
      2
      2
      3
      
      #写一个程序,给出前50个素数,每行包含10个素数
      print('The first 50 prime numbers are')
      print()
      count = 0
      n = 2
      
      while count < 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值