2-python-bas

Python 基础

  1. 类型转换
    1. eval()函数

      将字符串str当成有效的表达式来求值并返回计算结果,多用于执行sql语句。

      rex='12+3.5'
      result=eval(rex);
      print(result)       #result=15.5
      
    2. 取整

      • 向下取整
        num=3.8372
        print(num//1)#3.0
        
      • 向上取整
        print(math.ceil(2.3))
        
      • 去小数点
        print(int(num))#3
        
      • 四舍五入
        print(round(num))#4
        
      • 保留小数
        print(float('%.2f'%num))#保留两位小数  3.84
        
        时分秒demo
        sec=10000-31
        hour=sec//(60*60)
        hour=str(hour) if hour>9 else '0'+str(hour)
        minute=(sec%(60*60))//60
        minute=str(minute) if minute>9 else '0'+str(minute)
        second=sec%60
        second=str(second) if second>9 else '0'+str(second)
        print('%s:%s:%s'%(hour,minute,second))
        
  2. 运算符
    a,b,c,d='spam'
    print(a)        #a=s.一一对应
    x,*y='spam'     #*通配符,表示剩余的数据
    print(x)        #x=s,y=['p', 'a', 'm']
    print(y)
    
    print(3**3)     #9
    
  3. is,in
    email='lzhan@163.com.cn'
    if ('@' in email) and '.' in email:
        print('is email')
    a=12
    b=12.0
    print(a is b)  #false
    print(a == b)  #true
    
  4. 逻辑控制语句-if
    1. 语法规则

      a=12;b=a+1
      if a>10:
          a=a+10
          print('a=',a)
      
      • 行结束没有分号
      • 没有语句块大括号,使用语句缩进
      • 条件部分没有括号
      • 分号用于多条简单的语句放在同一行,作为分隔符

      demo

      while True:
          reply =input('Enter text:')
          if reply == 'stop':
              break
          elif not reply.isdigit():
              print('Bad'*8)
          else:
              print(int(reply)**2)
      print('bye')
      
    2. 条件语句
      练习:用户输入年龄,如果大于18岁,显示“成年”;否则显示“未成年”

      age=int(input('请输入年龄'))
      if age>18:
          print('成年')
      else:
          print('未成年')
      
    3. 多条件

      if 判断条件1:
          执行语句1……
      elif 判断条件2:
          执行语句2……
      else:
          执行语句3……
      

      由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

      备注
      python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。如下面的代码将正常执行不会报除零错误,但是如果改为or则会出错

      a=0
      b=1
      if ( a > 0 ) and ( b / a > 2 ):
          print "yes"
      else :
          print "no"
      
    4. if嵌套

      if 条件1:
          满足条件1 做的事情1
          满足条件1 做的事情2
          ...(省略)...
      if 条件2:
          满足条件2 做的事情1
          满足条件2 做的事情2
          ...(省略)...
      
    5. 三元运算符

      x=1
      if x>0:
         a=True
      else:
         a=False
      f=True if x>0 else False
      print(a)
      
    6. 课后练习

      石头剪刀布游戏:剪刀(0) 石头(1) 布(2)

      import random
      player = input('请输入:剪刀(0)  石头(1)  布(2):')
      player = int(player)
      computer = random.randint(0,2)
      # 用来进行测试
      #print('player=%d,computer=%d',(player,computer))
      if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
          print('获胜,哈哈,你太厉害了')
      elif player == computer:
          print('平局,要不再来一局')
      else:
          print('输了,不要走,洗洗手接着来,决战到天亮')
      
  5. 逻辑控制语句-if
    1. 循环

      i = 0
      while i<10000:
          print("我错了")
          i+=1
      
    2. while

      count = 0
      while count < 5:
         print(count, " is  less than 5")
         count = count + 1
      else:
         print(count, " is not less than 5")
      

      练习:计算1~100之间偶数的累积和(包含1和100)

      j=0
      total=0
      while j<=100:
          total=total+j
          j=j+2
      else:
          print(total)
      
    3. 嵌套循环

      i = 1
      while i<=5:
          j = 1
      	while j<=5:
      	    print("* ",end='')
      	    j+=1
          print("\n")
      	i+=1
      

      练习:九九乘法表

      i=0
      while i<10:
          j=1
          while j<=i:
              total=i+j
              print(str(j)+'+'+str(i)+'='+str(total),end=' ')
              j+=1
          print()
          i+=1
      
    4. for

      #!/usr/bin/python
      # -*- coding: UTF-8 -*-
      
      for letter in 'Python':     # 第一个实例
      print '当前字母 :', letter
      fruits = ['banana', 'apple',  'mango']
      for fruit in fruits:        # 第二个实例
         print '当前水果 :', fruit
      print "Good bye!"
      
      fruits = ['banana', 'apple',  'mango']
      for index in range(len(fruits)):
          print '当前水果 :', fruits[index]
      else:
          print('over')
      
    5. break,continue

      • break/continue只能用在循环中,除此以外不能单独使用

      • break/continue在嵌套循环中,只对最近的一层循环起作用

    6. range()

      arr=[1,2,3,4,5,6,7,8]
      print(arr[1::2])
      print(arr[::2])
      for i in range(0,len(arr),2):
      print(i)
      
      arr1=['a','b','c']
      arr2=[97,98,99]
      li=list(zip(arr1,arr2))
      print(li)
      #转化为字典
      dic=dict(zip(arr1,arr2))
      print(dic)
      for(x,y) in zip(arr1,arr2):
      print(x,':',y)
      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值