学习python的第三天 基础数据类型、for循环

一、今日大纲

  1. 基础数据类型总览
    1. int
    2. bool
    3. str
      • 索引、切片
      • 常用操作方法
    4. for循环

二、昨日内容以及作业讲解

  1. pycharm的简单使用

  2. while 循环

    1. 结构

    2. 结束方式

      1. 命令
      2. break:直接终止循环
      3. continue:终止本次循环,继续下一次循环
      4. while else: 只要没有被break终止,则继续执行else内容
    3. 格式化输出str : 让字符串某些位置变成动态可变的,可传入的

      1. % s str digit | int r
      2. %% 转义%
    4. 编码的初识:

      1. 编码:密码本:二进制与文字的对应关系.

        • ASCII:最早的密码本:二进制与英文字母,数字,特殊字符的对应关系

        • GBK国标:英文1个字节,中文2个字节

          • 英文字母,数字,特殊字符 用的ASCII
          • 中文自己编写的
        • Unicode:万国码(兼容性高,他与任何的密码本都有映射关系)

        • UTF-8:

          01100001 使用ASCII

          01100001 01100001 欧洲

          01100001 01100001 01100001 中文

  3. 作业

    1. ​ 猜数字大小,打了提示数字大了小了提示数字小了,三次机会

      num = 29
      set = 1
      while  True :
          in_num = int(input ('请猜猜数字大小:'))
          if in_num > num and set  < 3 :
              print ('你猜的数字太大了!')
          elif in_num< num and set <3 :
              print ('你猜的数字太小了!')
          elif set < 3 :
              print ('恭喜你猜对了')
              break
          else :
              print('你大概是个傻子,次数被你用完了')
              break
          set = set + 1
      
    2. while 循环输出-10

    set = 0
    while True :
        set = set + 1
        if set > 10 :
            set = 1
        print (set)
    
    1. 计算1-2+3.......100
    set_1 = 0
    set_2 = 0
    while set_1 < 100 :
        set_1= set_1 + 1
        if  set_1 % 2 == 0:
            set_2 = set_2 - set_1
        else :
            set_2 = set_2 + set_1
    print (set_2)
    
    
    1. 输入用户名,密码三次机会 ,使用标准化输出
count = 1
while count <= 3 :
    username = input('用户名:')
    password = input('密码:')
    if username == 'alex' and password == '123' :
        print ('登录成功')
    else :
        print('用户名或者密码错误,还剩%s次机会' % (3-count))
    count  += 1
  # 三、具体内容
  1. 基础数据类型总览

    • 10202020 12 012 int 数字 +-*/ 等等
    • ‘今天吃了没’ str 字符串 +- *int(和数字相乘) 切片,其他操作方法
    • True False bool 判断真假
    • [12,ture,'alex',[123]] list 列表 存储大量数据
    • (12,ture,'alex',[123]) tuple 存储大量数据 不可改变里面的元素。
    • {‘name’:'太白金星'} dict 存储大量关联型数据,查询速度非常快
    • set 交集,并集差集
  2. int

    • 主要用于计算 +-*/

    • 不同的进制之间的转换。10进制、2进制。

      #bit_kenth   有效的二进制长度
      i = 4
      print (i.bit_length()) #3
      i = 5
      print (i.bit_length()) #3
      i = 42
      print (i.bit_length())  #6
      
    • bool str int 转换

      • bool ----> int

        True 1 False 0

        非0即True 0是False

      • str <----> int

        s1 = 10 int(s1) :必须是数字组成
        i = 100 str(i)

      • str bool

        s1 = 'sadasd'

        print (bool(s1))

        非空字符串即Ture

    1. 切片

      按索引:s1 [index]
      按照切片: s1[start_index:end_index+1]
      按照切片步长:s1[start_index:end_index+1:2]
      反向按照切片步长:s1[start_index:end_index后延一位:-2]
      思考题:能不能倒序全取出来

  3. 字符串

    • 字符串的常用操作方法

      • upper(字符全部大写,中文不变) lower(字符全部小写,中文不变)
      username = input ('用户名:')
      password = input('密码:')
      code = 'Qwea'
      your_code = input('请输入验证码:不区分大小写')
      if your_code.upper() == code.upper() :
          if username == 'taibai'  and password == '123':
              print ('登陆成功')
          else :
              print('用户名密码错误')
      else :
          print('验证码错误')
      
      • ​ startswith(以...为开始) endswith(以...为结束)
      s = 'taiBai'
      print (s.startswith('t'))
      print (s.startswith('taiBai'))
      
      • replace(替换)

        msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
        #msg1 = msg.replace('alex','taibai')  默认全部替换
        msg1 = msg.replace('alex','taibai',2)
        print (msg1)
        
      • strip(删除 如果有想删除的字符可以加在括号里面,从前往后,从后往前删除,但是不会去除中间的; \t 制表符 ; \n 换行符)

        s4 = '\n taibai\t'
        s5 = s4.strip()
        print  (s5)
        
      • split 分割 非常重要

        • 分割:默认按照空格分割,返回一个列表;以什么分割就将什么写入括号内
        s6 = '太白   女神   吴超'
        l = s6.split()
        print (l)
        # ['太白', '女神', '吴超']
        
      • join 联合 非常好用

        s1 = 'alex'
        s2 = '+'.join(s1)
        print (s2)
        #前提:列表里面的元素必须是字符串
        l1 = ['太白','女神','吴超']
        s3 = ':'.join(l1)
        print (s3)
        
      • count 计数,数出字符串的个数

        s8 = 'asdaosdhoh108yh0dfhi20qh80fg1yh03hf[0o'
        print (s8.count('a'))
        
      • format :格式化输出

        • 第一种用法
        msg = '我叫{}今年{}性别{}'.format('大壮',25,'男')
        print(msg)
        
        • 第二种用法
        msg = '我叫{0}今年{1}性别{2},我依然叫{0}'.format('大壮',25,'男')
        print(msg)
        
        • 第三种用法
        msg = '我叫{name}今年{age}性别{sex}'.format(age=25,sex='男',name='大壮')
        print(msg)
        
      • is系列

        ame = '100 一'
        print (name.isalnum())  #字符串由字母或数字组成
        print(name.isalpha())#字符串由字母组成
        print(name.isdecimal())#字符串只由十进制组成
        
         s1 =  input("请输入您的金额:")
        if s1.isdecimal():
            print (int(s1))
        else :
            print ('傻吊,你输入错误')
        
  4. for循环

    len() 获取对象的字符的总个数

    s1 = '''君不见黄河之水天上来,奔流到海不复回。
    君不见高堂明镜悲白发,朝如青丝暮成雪。
    人生得意须尽欢,莫使金樽空对月。
    天生我材必有用,千金散尽还复来。
    烹羊宰牛且为乐,会须一饮三百杯。
    岑夫子,丹丘生,将进酒,杯莫停。
    与君歌一曲,请君为我倾耳听。
    钟鼓馔玉不足贵,但愿长醉不复醒。
    古来圣贤皆寂寞,惟有饮者留其名。
    陈王昔时宴平乐,斗酒十千恣欢谑。
    主人何为言少钱,径须沽取对君酌。
    五花马、千金裘,呼儿将出换美酒,与尔同销万古愁'''
    index = 0
    while index < len(s1):
         print (s1[index])
         index +=1
    
    #for循环
    '''
    for  变量  in iterable:
    pass
    '''
    s1 = '老男孩教育最好的讲师:太白'
    for i in s1 :
        print (i)
    
posted @ 2020-05-27 15:46  it小白朱  阅读(146)  评论(0)    收藏  举报